From e7e45a1ab10caba8ee2e4ba9a8449879050d0ef8 Mon Sep 17 00:00:00 2001 From: sebhoss Date: Fri, 16 Aug 2024 13:55:04 +0000 Subject: [PATCH] Update upstream specifications to their latest version --- ...n_do_operator_configuration_v1_manifest.md | 1 + ...rraform_io_agent_pool_v1alpha2_manifest.md | 148 +- ...p_terraform_io_module_v1alpha2_manifest.md | 2 +- ...erraform_io_workspace_v1alpha2_manifest.md | 10 +- ...ackup_policy_template_v1alpha1_manifest.md | 29 + ..._component_definition_v1alpha1_manifest.md | 758 +- ...blocks_io_ops_request_v1alpha1_manifest.md | 89 +- ...spike_com_aerospike_cluster_v1_manifest.md | 1 + ...he_org_integration_platform_v1_manifest.md | 4 +- ...che_org_integration_profile_v1_manifest.md | 4 +- ...amel_apache_org_integration_v1_manifest.md | 4 +- ...e_org_kamelet_binding_v1alpha1_manifest.md | 4 +- .../camel_apache_org_pipe_v1_manifest.md | 4 +- ...ries_flanksource_com_canary_v1_manifest.md | 7 +- ...s_flanksource_com_component_v1_manifest.md | 5 + ...es_flanksource_com_topology_v1_manifest.md | 16 + ...load_balancer_ip_pool_v2alpha1_manifest.md | 2 +- ...udie_io_input_manifest_v1beta1_manifest.md | 19 +- ..._k8s_io_cluster_class_v1alpha4_manifest.md | 10 +- ...x_k8s_io_cluster_class_v1beta1_manifest.md | 18 +- ...ster_x_k8s_io_cluster_v1alpha3_manifest.md | 4 +- ...ster_x_k8s_io_cluster_v1alpha4_manifest.md | 4 +- ...uster_x_k8s_io_cluster_v1beta1_manifest.md | 8 +- ...io_machine_deployment_v1alpha3_manifest.md | 4 +- ...io_machine_deployment_v1alpha4_manifest.md | 4 +- ..._io_machine_deployment_v1beta1_manifest.md | 4 +- ..._machine_health_check_v1alpha3_manifest.md | 2 +- ..._machine_health_check_v1alpha4_manifest.md | 2 +- ...o_machine_health_check_v1beta1_manifest.md | 2 +- ...x_k8s_io_machine_pool_v1alpha3_manifest.md | 4 +- ...x_k8s_io_machine_pool_v1alpha4_manifest.md | 4 +- ..._x_k8s_io_machine_pool_v1beta1_manifest.md | 4 +- ..._x_k8s_io_machine_set_v1alpha3_manifest.md | 4 +- ..._x_k8s_io_machine_set_v1alpha4_manifest.md | 4 +- ...r_x_k8s_io_machine_set_v1beta1_manifest.md | 4 +- ...ster_x_k8s_io_machine_v1alpha3_manifest.md | 4 +- ...ster_x_k8s_io_machine_v1alpha4_manifest.md | 4 +- ...uster_x_k8s_io_machine_v1beta1_manifest.md | 4 +- ...ocks_io_backup_policy_v1alpha1_manifest.md | 40 + ...ter_fluent_bit_config_v1alpha2_manifest.md | 1 + ..._io_fluent_bit_config_v1alpha2_manifest.md | 1 + ...solo_io_virtual_host_option_v1_manifest.md | 9 + ...way_solo_io_virtual_service_v1_manifest.md | 9 + ...r_x_k8s_io_ip_address_v1alpha1_manifest.md | 2 +- ...er_x_k8s_io_ip_address_v1beta1_manifest.md | 2 +- ...8s_mariadb_com_backup_v1alpha1_manifest.md | 1 + ..._mariadb_com_maria_db_v1alpha1_manifest.md | 7 +- ...s_mariadb_com_sql_job_v1alpha1_manifest.md | 1 + .../kiali_io_kiali_v1alpha1_manifest.md | 2 +- .../kuadrant_io_kuadrant_v1beta1_manifest.md | 511 +- .../kyverno_io_cluster_policy_v1_manifest.md | 6 + ...erno_io_cluster_policy_v2beta1_manifest.md | 6 + ..._global_context_entry_v2alpha1_manifest.md | 2 +- .../kyverno_io_policy_v1_manifest.md | 6 + .../kyverno_io_policy_v2beta1_manifest.md | 6 + .../kyverno_io_update_request_v2_manifest.md | 32 +- ...oud_io_fluentbit_agent_v1beta1_manifest.md | 30 + ...banzaicloud_io_logging_v1beta1_manifest.md | 106 + ...zaicloud_io_node_agent_v1beta1_manifest.md | 15 + ...m_alertmanager_config_v1alpha1_manifest.md | 24 +- ...om_alertmanager_config_v1beta1_manifest.md | 24 +- ...ing_coreos_com_alertmanager_v1_manifest.md | 2 +- ...ring_coreos_com_pod_monitor_v1_manifest.md | 2 +- ...monitoring_coreos_com_probe_v1_manifest.md | 2 +- ..._com_prometheus_agent_v1alpha1_manifest.md | 13 +- ...oring_coreos_com_prometheus_v1_manifest.md | 17 +- ...eos_com_scrape_config_v1alpha1_manifest.md | 164 +- ..._coreos_com_service_monitor_v1_manifest.md | 2 +- ...org_eclipse_che_che_cluster_v2_manifest.md | 1 + ...percona_server_my_sql_v1alpha1_manifest.md | 1132 ++- ...olkit_fluxcd_io_bucket_v1beta2_manifest.md | 2 +- ...uxcd_io_oci_repository_v1beta2_manifest.md | 9 + ...velero_io_backup_repository_v1_manifest.md | 1 + ...locks_io_instance_set_v1alpha1_manifest.md | 3 +- ...n_do_operator_configuration_v1_manifest.go | 9 + .../acid_zalan_do_postgresql_v1_manifest.go | 2 +- ...rraform_io_agent_pool_v1alpha2_manifest.go | 365 +- ...p_terraform_io_module_v1alpha2_manifest.go | 4 +- ...erraform_io_workspace_v1alpha2_manifest.go | 20 +- ...ackup_policy_template_v1alpha1_manifest.go | 89 +- ...kubeblocks_io_cluster_v1alpha1_manifest.go | 6 + ..._component_definition_v1alpha1_manifest.go | 6899 ++++++++--------- ...blocks_io_ops_request_v1alpha1_manifest.go | 240 +- ...spike_com_aerospike_cluster_v1_manifest.go | 9 + ...he_org_integration_platform_v1_manifest.go | 8 +- ...che_org_integration_profile_v1_manifest.go | 8 +- ...amel_apache_org_integration_v1_manifest.go | 8 +- .../camel_apache_org_pipe_v1_manifest.go | 8 +- ...e_org_kamelet_binding_v1alpha1_manifest.go | 8 +- ...ries_flanksource_com_canary_v1_manifest.go | 71 +- ...s_flanksource_com_component_v1_manifest.go | 97 +- ...es_flanksource_com_topology_v1_manifest.go | 300 +- ...load_balancer_ip_pool_v2alpha1_manifest.go | 4 +- ...udie_io_input_manifest_v1beta1_manifest.go | 42 +- ...ster_x_k8s_io_cluster_v1alpha3_manifest.go | 8 +- ...io_machine_deployment_v1alpha3_manifest.go | 8 +- ..._machine_health_check_v1alpha3_manifest.go | 4 +- ...x_k8s_io_machine_pool_v1alpha3_manifest.go | 8 +- ..._x_k8s_io_machine_set_v1alpha3_manifest.go | 8 +- ...ster_x_k8s_io_machine_v1alpha3_manifest.go | 8 +- ..._k8s_io_cluster_class_v1alpha4_manifest.go | 20 +- ...ster_x_k8s_io_cluster_v1alpha4_manifest.go | 8 +- ...io_machine_deployment_v1alpha4_manifest.go | 8 +- ..._machine_health_check_v1alpha4_manifest.go | 4 +- ...x_k8s_io_machine_pool_v1alpha4_manifest.go | 8 +- ..._x_k8s_io_machine_set_v1alpha4_manifest.go | 8 +- ...ster_x_k8s_io_machine_v1alpha4_manifest.go | 8 +- ...x_k8s_io_cluster_class_v1beta1_manifest.go | 36 +- ...uster_x_k8s_io_cluster_v1beta1_manifest.go | 16 +- ..._io_machine_deployment_v1beta1_manifest.go | 8 +- ...o_machine_health_check_v1beta1_manifest.go | 4 +- ..._x_k8s_io_machine_pool_v1beta1_manifest.go | 8 +- ...r_x_k8s_io_machine_set_v1beta1_manifest.go | 8 +- ...uster_x_k8s_io_machine_v1beta1_manifest.go | 8 +- ...ocks_io_backup_policy_v1alpha1_manifest.go | 116 + ...ter_fluent_bit_config_v1alpha2_manifest.go | 9 + ..._io_fluent_bit_config_v1alpha2_manifest.go | 9 + ...solo_io_virtual_host_option_v1_manifest.go | 20 + ...way_solo_io_virtual_service_v1_manifest.go | 20 + ...r_x_k8s_io_ip_address_v1alpha1_manifest.go | 4 +- ...er_x_k8s_io_ip_address_v1beta1_manifest.go | 4 +- ...8s_mariadb_com_backup_v1alpha1_manifest.go | 11 +- ..._mariadb_com_maria_db_v1alpha1_manifest.go | 25 +- ...s_mariadb_com_sql_job_v1alpha1_manifest.go | 11 +- .../kiali_io_kiali_v1alpha1_manifest.go | 4 +- .../kuadrant_io_kuadrant_v1beta1_manifest.go | 1354 +--- .../kyverno_io_cluster_policy_v1_manifest.go | 78 +- .../kyverno_io_policy_v1_manifest.go | 78 +- .../kyverno_io_update_request_v2_manifest.go | 110 +- ..._global_context_entry_v2alpha1_manifest.go | 4 +- ...erno_io_cluster_policy_v2beta1_manifest.go | 78 +- .../kyverno_io_policy_v2beta1_manifest.go | 78 +- ...oud_io_fluentbit_agent_v1beta1_manifest.go | 198 +- ...banzaicloud_io_logging_v1beta1_manifest.go | 704 +- ...zaicloud_io_node_agent_v1beta1_manifest.go | 99 +- ...ing_coreos_com_alertmanager_v1_manifest.go | 4 +- ...ring_coreos_com_pod_monitor_v1_manifest.go | 4 +- ...monitoring_coreos_com_probe_v1_manifest.go | 4 +- ...oring_coreos_com_prometheus_v1_manifest.go | 63 +- ..._coreos_com_service_monitor_v1_manifest.go | 4 +- ...m_alertmanager_config_v1alpha1_manifest.go | 48 +- ..._com_prometheus_agent_v1alpha1_manifest.go | 57 +- ...eos_com_scrape_config_v1alpha1_manifest.go | 465 +- ...om_alertmanager_config_v1beta1_manifest.go | 48 +- ...org_eclipse_che_che_cluster_v2_manifest.go | 11 +- ...percona_server_my_sql_v1alpha1_manifest.go | 3624 ++++++++- ...olkit_fluxcd_io_bucket_v1beta2_manifest.go | 4 +- ...uxcd_io_oci_repository_v1beta2_manifest.go | 24 +- ...velero_io_backup_repository_v1_manifest.go | 20 +- ...locks_io_instance_set_v1alpha1_manifest.go | 15 +- .../kubernetes/kubernetes/swagger.json | 2 +- 151 files changed, 11784 insertions(+), 7418 deletions(-) diff --git a/docs/data-sources/acid_zalan_do_operator_configuration_v1_manifest.md b/docs/data-sources/acid_zalan_do_operator_configuration_v1_manifest.md index d17da84d9..24fc77e0d 100644 --- a/docs/data-sources/acid_zalan_do_operator_configuration_v1_manifest.md +++ b/docs/data-sources/acid_zalan_do_operator_configuration_v1_manifest.md @@ -137,6 +137,7 @@ Optional: - `enable_cross_namespace_secret` (Boolean) - `enable_finalizers` (Boolean) - `enable_init_containers` (Boolean) +- `enable_owner_references` (Boolean) - `enable_persistent_volume_claim_deletion` (Boolean) - `enable_pod_antiaffinity` (Boolean) - `enable_pod_disruption_budget` (Boolean) diff --git a/docs/data-sources/app_terraform_io_agent_pool_v1alpha2_manifest.md b/docs/data-sources/app_terraform_io_agent_pool_v1alpha2_manifest.md index 53a36f55b..e2164d3ba 100644 --- a/docs/data-sources/app_terraform_io_agent_pool_v1alpha2_manifest.md +++ b/docs/data-sources/app_terraform_io_agent_pool_v1alpha2_manifest.md @@ -87,7 +87,7 @@ Required: Optional: -- `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid? +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. - `optional` (Boolean) Specify whether the Secret or its key must be defined @@ -116,7 +116,7 @@ Optional: - `dns_policy` (String) Set DNS policy for the pod.Defaults to 'ClusterFirst'.Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'.DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy.To have DNS options set along with hostNetwork, you have to specify DNS policyexplicitly to 'ClusterFirstWithHostNet'. - `enable_service_links` (Boolean) EnableServiceLinks indicates whether information about services should be injected into pod'senvironment variables, matching the syntax of Docker links.Optional: Defaults to true. - `ephemeral_containers` (Attributes List) List of ephemeral containers run in this pod. Ephemeral containers may be run in an existingpod to perform user-initiated actions such as debugging. This list cannot be specified whencreating a pod, and it cannot be modified by updating the pod spec. In order to add anephemeral container to an existing pod, use the pod's ephemeralcontainers subresource. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--ephemeral_containers)) -- `host_aliases` (Attributes List) HostAliases is an optional list of hosts and IPs that will be injected into the pod's hostsfile if specified. This is only valid for non-hostNetwork pods. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--host_aliases)) +- `host_aliases` (Attributes List) HostAliases is an optional list of hosts and IPs that will be injected into the pod's hostsfile if specified. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--host_aliases)) - `host_ipc` (Boolean) Use the host's ipc namespace.Optional: Default to false. - `host_network` (Boolean) Host networking requested for this pod. Use the host's network namespace.If this option is set, the ports that will be used must be specified.Default to false. - `host_pid` (Boolean) Use the host's pid namespace.Optional: Default to false. @@ -126,7 +126,7 @@ Optional: - `init_containers` (Attributes List) List of initialization containers belonging to the pod.Init containers are executed in order prior to containers being started. If anyinit container fails, the pod is considered to have failed and is handled accordingto its restartPolicy. The name for an init container or normal container must beunique among all containers.Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes.The resourceRequirements of an init container are taken into account during schedulingby finding the highest request/limit for each resource type, and then using the max ofof that value or the sum of the normal containers. Limits are applied to init containersin a similar fashion.Init containers cannot currently be added or removed.Cannot be updated.More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--init_containers)) - `node_name` (String) NodeName is a request to schedule this pod onto a specific node. If it is non-empty,the scheduler simply schedules this pod onto that node, assuming that it fits resourcerequirements. - `node_selector` (Map of String) NodeSelector is a selector which must be true for the pod to fit on a node.Selector which must match a node's labels for the pod to be scheduled on that node.More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ -- `os` (Attributes) Specifies the OS of the containers in the pod.Some pod and container fields are restricted if this is set.If the OS field is set to linux, the following fields must be unset:-securityContext.windowsOptionsIf the OS field is set to windows, following fields must be unset:- spec.hostPID- spec.hostIPC- spec.hostUsers- spec.securityContext.seLinuxOptions- spec.securityContext.seccompProfile- spec.securityContext.fsGroup- spec.securityContext.fsGroupChangePolicy- spec.securityContext.sysctls- spec.shareProcessNamespace- spec.securityContext.runAsUser- spec.securityContext.runAsGroup- spec.securityContext.supplementalGroups- spec.containers[*].securityContext.seLinuxOptions- spec.containers[*].securityContext.seccompProfile- spec.containers[*].securityContext.capabilities- spec.containers[*].securityContext.readOnlyRootFilesystem- spec.containers[*].securityContext.privileged- spec.containers[*].securityContext.allowPrivilegeEscalation- spec.containers[*].securityContext.procMount- spec.containers[*].securityContext.runAsUser- spec.containers[*].securityContext.runAsGroup (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--os)) +- `os` (Attributes) Specifies the OS of the containers in the pod.Some pod and container fields are restricted if this is set.If the OS field is set to linux, the following fields must be unset:-securityContext.windowsOptionsIf the OS field is set to windows, following fields must be unset:- spec.hostPID- spec.hostIPC- spec.hostUsers- spec.securityContext.appArmorProfile- spec.securityContext.seLinuxOptions- spec.securityContext.seccompProfile- spec.securityContext.fsGroup- spec.securityContext.fsGroupChangePolicy- spec.securityContext.sysctls- spec.shareProcessNamespace- spec.securityContext.runAsUser- spec.securityContext.runAsGroup- spec.securityContext.supplementalGroups- spec.containers[*].securityContext.appArmorProfile- spec.containers[*].securityContext.seLinuxOptions- spec.containers[*].securityContext.seccompProfile- spec.containers[*].securityContext.capabilities- spec.containers[*].securityContext.readOnlyRootFilesystem- spec.containers[*].securityContext.privileged- spec.containers[*].securityContext.allowPrivilegeEscalation- spec.containers[*].securityContext.procMount- spec.containers[*].securityContext.runAsUser- spec.containers[*].securityContext.runAsGroup (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--os)) - `overhead` (Map of String) Overhead represents the resource overhead associated with running a pod for a given RuntimeClass.This field will be autopopulated at admission time by the RuntimeClass admission controller. Ifthe RuntimeClass admission controller is enabled, overhead must not be set in Pod create requests.The RuntimeClass admission controller will reject Pod create requests which have the overhead alreadyset. If RuntimeClass is configured and selected in the PodSpec, Overhead will be set to the valuedefined in the corresponding RuntimeClass, otherwise it will remain unset and treated as zero.More info: https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md - `preemption_policy` (String) PreemptionPolicy is the Policy for preempting pods with lower priority.One of Never, PreemptLowerPriority.Defaults to PreemptLowerPriority if unset. - `priority` (Number) The priority value. Various system components use this field to find thepriority of the pod. When Priority Admission Controller is enabled, itprevents users from setting this field. The admission controller populatesthis field from PriorityClassName.The higher the value, the higher the priority. @@ -136,9 +136,9 @@ Optional: - `restart_policy` (String) Restart policy for all containers within the pod.One of Always, OnFailure, Never. In some contexts, only a subset of those values may be permitted.Default to Always.More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy - `runtime_class_name` (String) RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be usedto run this pod. If no RuntimeClass resource matches the named class, the pod will not be run.If unset or empty, the 'legacy' RuntimeClass will be used, which is an implicit class with anempty definition that uses the default runtime handler.More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class - `scheduler_name` (String) If specified, the pod will be dispatched by specified scheduler.If not specified, the pod will be dispatched by default scheduler. -- `scheduling_gates` (Attributes List) SchedulingGates is an opaque list of values that if specified will block scheduling the pod.If schedulingGates is not empty, the pod will stay in the SchedulingGated state and thescheduler will not attempt to schedule the pod.SchedulingGates can only be set at pod creation time, and be removed only afterwards.This is a beta feature enabled by the PodSchedulingReadiness feature gate. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--scheduling_gates)) +- `scheduling_gates` (Attributes List) SchedulingGates is an opaque list of values that if specified will block scheduling the pod.If schedulingGates is not empty, the pod will stay in the SchedulingGated state and thescheduler will not attempt to schedule the pod.SchedulingGates can only be set at pod creation time, and be removed only afterwards. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--scheduling_gates)) - `security_context` (Attributes) SecurityContext holds pod-level security attributes and common container settings.Optional: Defaults to empty. See type description for default values of each field. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--security_context)) -- `service_account` (String) DeprecatedServiceAccount is a depreciated alias for ServiceAccountName.Deprecated: Use serviceAccountName instead. +- `service_account` (String) DeprecatedServiceAccount is a deprecated alias for ServiceAccountName.Deprecated: Use serviceAccountName instead. - `service_account_name` (String) ServiceAccountName is the name of the ServiceAccount to use to run this pod.More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ - `set_hostname_as_fqdn` (Boolean) If true the pod's hostname will be configured as the pod's FQDN, rather than the leaf name (the default).In Linux containers, this means setting the FQDN in the hostname field of the kernel (the nodename field of struct utsname).In Windows containers, this means setting the registry value of hostname for the registry key HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters to FQDN.If a pod does not have FQDN, this has no effect.Default to false. - `share_process_namespace` (Boolean) Share a single process namespace between all of the containers in a pod.When this is set containers will be able to view and signal processes from other containersin the same pod, and the first process in each container will not be assigned PID 1.HostPID and ShareProcessNamespace cannot both be set.Optional: Default to false. @@ -212,7 +212,7 @@ Required: Optional: -- `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid? +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. - `optional` (Boolean) Specify whether the ConfigMap or its key must be defined @@ -250,7 +250,7 @@ Required: Optional: -- `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid? +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. - `optional` (Boolean) Specify whether the Secret or its key must be defined @@ -270,7 +270,7 @@ Optional: Optional: -- `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid? +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. - `optional` (Boolean) Specify whether the ConfigMap must be defined @@ -279,7 +279,7 @@ Optional: Optional: -- `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid? +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. - `optional` (Boolean) Specify whether the Secret must be defined @@ -613,6 +613,7 @@ Required: Optional: - `allow_privilege_escalation` (Boolean) AllowPrivilegeEscalation controls whether a process can gain moreprivileges than its parent process. This bool directly controls ifthe no_new_privs flag will be set on the container process.AllowPrivilegeEscalation is true always when the container is:1) run as Privileged2) has CAP_SYS_ADMINNote that this field cannot be set when spec.os.name is windows. +- `app_armor_profile` (Attributes) appArmorProfile is the AppArmor options to use by this container. If set, this profileoverrides the pod's appArmorProfile.Note that this field cannot be set when spec.os.name is windows. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--containers--security_context--app_armor_profile)) - `capabilities` (Attributes) The capabilities to add/drop when running containers.Defaults to the default set of capabilities granted by the container runtime.Note that this field cannot be set when spec.os.name is windows. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--containers--security_context--capabilities)) - `privileged` (Boolean) Run container in privileged mode.Processes in privileged containers are essentially equivalent to root on the host.Defaults to false.Note that this field cannot be set when spec.os.name is windows. - `proc_mount` (String) procMount denotes the type of proc mount to use for the containers.The default is DefaultProcMount which uses the container runtime defaults forreadonly paths and masked paths.This requires the ProcMountType feature flag to be enabled.Note that this field cannot be set when spec.os.name is windows. @@ -624,6 +625,18 @@ Optional: - `seccomp_profile` (Attributes) The seccomp options to use by this container. If seccomp options areprovided at both the pod & container level, the container optionsoverride the pod options.Note that this field cannot be set when spec.os.name is windows. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--containers--security_context--seccomp_profile)) - `windows_options` (Attributes) The Windows specific settings applied to all containers.If unspecified, the options from the PodSecurityContext will be used.If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.Note that this field cannot be set when spec.os.name is linux. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--containers--security_context--windows_options)) + +### Nested Schema for `spec.agent_deployment.spec.containers.security_context.app_armor_profile` + +Required: + +- `type` (String) type indicates which kind of AppArmor profile will be applied.Valid options are: Localhost - a profile pre-loaded on the node. RuntimeDefault - the container runtime's default profile. Unconfined - no AppArmor enforcement. + +Optional: + +- `localhost_profile` (String) localhostProfile indicates a profile loaded on the node that should be used.The profile must be preconfigured on the node to work.Must match the loaded name of the profile.Must be set if and only if type is 'Localhost'. + + ### Nested Schema for `spec.agent_deployment.spec.containers.security_context.capabilities` @@ -760,8 +773,9 @@ Required: Optional: -- `mount_propagation` (String) mountPropagation determines how mounts are propagated from the hostto container and the other way around.When not set, MountPropagationNone is used.This field is beta in 1.10. +- `mount_propagation` (String) mountPropagation determines how mounts are propagated from the hostto container and the other way around.When not set, MountPropagationNone is used.This field is beta in 1.10.When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified(which defaults to None). - `read_only` (Boolean) Mounted read-only if true, read-write otherwise (false or unspecified).Defaults to false. +- `recursive_read_only` (String) RecursiveReadOnly specifies whether read-only mounts should be handledrecursively.If ReadOnly is false, this field has no meaning and must be unspecified.If ReadOnly is true, and this field is set to Disabled, the mount is not maderecursively read-only. If this field is set to IfPossible, the mount is maderecursively read-only, if it is supported by the container runtime. If thisfield is set to Enabled, the mount is made recursively read-only if it issupported by the container runtime, otherwise the pod will not be started andan error will be generated to indicate the reason.If this field is set to IfPossible or Enabled, MountPropagation must be set toNone (or be unspecified, which defaults to None).If this field is not specified, it is treated as an equivalent of Disabled. - `sub_path` (String) Path within the volume from which the container's volume should be mounted.Defaults to '' (volume's root). - `sub_path_expr` (String) Expanded path within the volume from which the container's volume should be mounted.Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.Defaults to '' (volume's root).SubPathExpr and SubPath are mutually exclusive. @@ -898,8 +912,8 @@ Required: Optional: - `label_selector` (Attributes) A label query over a set of resources, in this case pods.If it's null, this PodAffinityTerm matches with no Pods. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--affinity--pod_affinity--preferred_during_scheduling_ignored_during_execution--pod_affinity_term--label_selector)) -- `match_label_keys` (List of String) MatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'LabelSelector' as 'key in (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.Also, MatchLabelKeys cannot be set when LabelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. -- `mismatch_label_keys` (List of String) MismatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'LabelSelector' as 'key notin (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector.Also, MismatchLabelKeys cannot be set when LabelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. +- `match_label_keys` (List of String) MatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both matchLabelKeys and labelSelector.Also, matchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. +- `mismatch_label_keys` (List of String) MismatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.Also, mismatchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. - `namespace_selector` (Attributes) A label query over the set of namespaces that the term applies to.The term is applied to the union of the namespaces selected by this fieldand the ones listed in the namespaces field.null selector and null or empty namespaces list means 'this pod's namespace'.An empty selector ({}) matches all namespaces. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--affinity--pod_affinity--preferred_during_scheduling_ignored_during_execution--pod_affinity_term--namespace_selector)) - `namespaces` (List of String) namespaces specifies a static list of namespace names that the term applies to.The term is applied to the union of the namespaces listed in this fieldand the ones selected by namespaceSelector.null or empty namespaces list and null namespaceSelector means 'this pod's namespace'. @@ -959,8 +973,8 @@ Required: Optional: - `label_selector` (Attributes) A label query over a set of resources, in this case pods.If it's null, this PodAffinityTerm matches with no Pods. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--affinity--pod_affinity--required_during_scheduling_ignored_during_execution--label_selector)) -- `match_label_keys` (List of String) MatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'LabelSelector' as 'key in (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.Also, MatchLabelKeys cannot be set when LabelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. -- `mismatch_label_keys` (List of String) MismatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'LabelSelector' as 'key notin (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector.Also, MismatchLabelKeys cannot be set when LabelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. +- `match_label_keys` (List of String) MatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both matchLabelKeys and labelSelector.Also, matchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. +- `mismatch_label_keys` (List of String) MismatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.Also, mismatchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. - `namespace_selector` (Attributes) A label query over the set of namespaces that the term applies to.The term is applied to the union of the namespaces selected by this fieldand the ones listed in the namespaces field.null selector and null or empty namespaces list means 'this pod's namespace'.An empty selector ({}) matches all namespaces. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--affinity--pod_affinity--required_during_scheduling_ignored_during_execution--namespace_selector)) - `namespaces` (List of String) namespaces specifies a static list of namespace names that the term applies to.The term is applied to the union of the namespaces listed in this fieldand the ones selected by namespaceSelector.null or empty namespaces list and null namespaceSelector means 'this pod's namespace'. @@ -1036,8 +1050,8 @@ Required: Optional: - `label_selector` (Attributes) A label query over a set of resources, in this case pods.If it's null, this PodAffinityTerm matches with no Pods. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--affinity--pod_anti_affinity--preferred_during_scheduling_ignored_during_execution--pod_affinity_term--label_selector)) -- `match_label_keys` (List of String) MatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'LabelSelector' as 'key in (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.Also, MatchLabelKeys cannot be set when LabelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. -- `mismatch_label_keys` (List of String) MismatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'LabelSelector' as 'key notin (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector.Also, MismatchLabelKeys cannot be set when LabelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. +- `match_label_keys` (List of String) MatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both matchLabelKeys and labelSelector.Also, matchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. +- `mismatch_label_keys` (List of String) MismatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.Also, mismatchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. - `namespace_selector` (Attributes) A label query over the set of namespaces that the term applies to.The term is applied to the union of the namespaces selected by this fieldand the ones listed in the namespaces field.null selector and null or empty namespaces list means 'this pod's namespace'.An empty selector ({}) matches all namespaces. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--affinity--pod_anti_affinity--preferred_during_scheduling_ignored_during_execution--pod_affinity_term--namespace_selector)) - `namespaces` (List of String) namespaces specifies a static list of namespace names that the term applies to.The term is applied to the union of the namespaces listed in this fieldand the ones selected by namespaceSelector.null or empty namespaces list and null namespaceSelector means 'this pod's namespace'. @@ -1097,8 +1111,8 @@ Required: Optional: - `label_selector` (Attributes) A label query over a set of resources, in this case pods.If it's null, this PodAffinityTerm matches with no Pods. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--affinity--pod_anti_affinity--required_during_scheduling_ignored_during_execution--label_selector)) -- `match_label_keys` (List of String) MatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'LabelSelector' as 'key in (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.Also, MatchLabelKeys cannot be set when LabelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. -- `mismatch_label_keys` (List of String) MismatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'LabelSelector' as 'key notin (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector.Also, MismatchLabelKeys cannot be set when LabelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. +- `match_label_keys` (List of String) MatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both matchLabelKeys and labelSelector.Also, matchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. +- `mismatch_label_keys` (List of String) MismatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.Also, mismatchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. - `namespace_selector` (Attributes) A label query over the set of namespaces that the term applies to.The term is applied to the union of the namespaces selected by this fieldand the ones listed in the namespaces field.null selector and null or empty namespaces list means 'this pod's namespace'.An empty selector ({}) matches all namespaces. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--affinity--pod_anti_affinity--required_during_scheduling_ignored_during_execution--namespace_selector)) - `namespaces` (List of String) namespaces specifies a static list of namespace names that the term applies to.The term is applied to the union of the namespaces listed in this fieldand the ones selected by namespaceSelector.null or empty namespaces list and null namespaceSelector means 'this pod's namespace'. @@ -1233,7 +1247,7 @@ Required: Optional: -- `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid? +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. - `optional` (Boolean) Specify whether the ConfigMap or its key must be defined @@ -1271,7 +1285,7 @@ Required: Optional: -- `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid? +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. - `optional` (Boolean) Specify whether the Secret or its key must be defined @@ -1291,7 +1305,7 @@ Optional: Optional: -- `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid? +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. - `optional` (Boolean) Specify whether the ConfigMap must be defined @@ -1300,7 +1314,7 @@ Optional: Optional: -- `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid? +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. - `optional` (Boolean) Specify whether the Secret must be defined @@ -1634,6 +1648,7 @@ Required: Optional: - `allow_privilege_escalation` (Boolean) AllowPrivilegeEscalation controls whether a process can gain moreprivileges than its parent process. This bool directly controls ifthe no_new_privs flag will be set on the container process.AllowPrivilegeEscalation is true always when the container is:1) run as Privileged2) has CAP_SYS_ADMINNote that this field cannot be set when spec.os.name is windows. +- `app_armor_profile` (Attributes) appArmorProfile is the AppArmor options to use by this container. If set, this profileoverrides the pod's appArmorProfile.Note that this field cannot be set when spec.os.name is windows. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--ephemeral_containers--security_context--app_armor_profile)) - `capabilities` (Attributes) The capabilities to add/drop when running containers.Defaults to the default set of capabilities granted by the container runtime.Note that this field cannot be set when spec.os.name is windows. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--ephemeral_containers--security_context--capabilities)) - `privileged` (Boolean) Run container in privileged mode.Processes in privileged containers are essentially equivalent to root on the host.Defaults to false.Note that this field cannot be set when spec.os.name is windows. - `proc_mount` (String) procMount denotes the type of proc mount to use for the containers.The default is DefaultProcMount which uses the container runtime defaults forreadonly paths and masked paths.This requires the ProcMountType feature flag to be enabled.Note that this field cannot be set when spec.os.name is windows. @@ -1645,6 +1660,18 @@ Optional: - `seccomp_profile` (Attributes) The seccomp options to use by this container. If seccomp options areprovided at both the pod & container level, the container optionsoverride the pod options.Note that this field cannot be set when spec.os.name is windows. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--ephemeral_containers--security_context--seccomp_profile)) - `windows_options` (Attributes) The Windows specific settings applied to all containers.If unspecified, the options from the PodSecurityContext will be used.If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.Note that this field cannot be set when spec.os.name is linux. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--ephemeral_containers--security_context--windows_options)) + +### Nested Schema for `spec.agent_deployment.spec.ephemeral_containers.security_context.app_armor_profile` + +Required: + +- `type` (String) type indicates which kind of AppArmor profile will be applied.Valid options are: Localhost - a profile pre-loaded on the node. RuntimeDefault - the container runtime's default profile. Unconfined - no AppArmor enforcement. + +Optional: + +- `localhost_profile` (String) localhostProfile indicates a profile loaded on the node that should be used.The profile must be preconfigured on the node to work.Must match the loaded name of the profile.Must be set if and only if type is 'Localhost'. + + ### Nested Schema for `spec.agent_deployment.spec.ephemeral_containers.security_context.capabilities` @@ -1781,8 +1808,9 @@ Required: Optional: -- `mount_propagation` (String) mountPropagation determines how mounts are propagated from the hostto container and the other way around.When not set, MountPropagationNone is used.This field is beta in 1.10. +- `mount_propagation` (String) mountPropagation determines how mounts are propagated from the hostto container and the other way around.When not set, MountPropagationNone is used.This field is beta in 1.10.When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified(which defaults to None). - `read_only` (Boolean) Mounted read-only if true, read-write otherwise (false or unspecified).Defaults to false. +- `recursive_read_only` (String) RecursiveReadOnly specifies whether read-only mounts should be handledrecursively.If ReadOnly is false, this field has no meaning and must be unspecified.If ReadOnly is true, and this field is set to Disabled, the mount is not maderecursively read-only. If this field is set to IfPossible, the mount is maderecursively read-only, if it is supported by the container runtime. If thisfield is set to Enabled, the mount is made recursively read-only if it issupported by the container runtime, otherwise the pod will not be started andan error will be generated to indicate the reason.If this field is set to IfPossible or Enabled, MountPropagation must be set toNone (or be unspecified, which defaults to None).If this field is not specified, it is treated as an equivalent of Disabled. - `sub_path` (String) Path within the volume from which the container's volume should be mounted.Defaults to '' (volume's root). - `sub_path_expr` (String) Expanded path within the volume from which the container's volume should be mounted.Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.Defaults to '' (volume's root).SubPathExpr and SubPath are mutually exclusive. @@ -1791,10 +1819,13 @@ Optional: ### Nested Schema for `spec.agent_deployment.spec.host_aliases` +Required: + +- `ip` (String) IP address of the host file entry. + Optional: - `hostnames` (List of String) Hostnames for the above IP address. -- `ip` (String) IP address of the host file entry. @@ -1802,7 +1833,7 @@ Optional: Optional: -- `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid? +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. @@ -1869,7 +1900,7 @@ Required: Optional: -- `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid? +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. - `optional` (Boolean) Specify whether the ConfigMap or its key must be defined @@ -1907,7 +1938,7 @@ Required: Optional: -- `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid? +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. - `optional` (Boolean) Specify whether the Secret or its key must be defined @@ -1927,7 +1958,7 @@ Optional: Optional: -- `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid? +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. - `optional` (Boolean) Specify whether the ConfigMap must be defined @@ -1936,7 +1967,7 @@ Optional: Optional: -- `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid? +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. - `optional` (Boolean) Specify whether the Secret must be defined @@ -2270,6 +2301,7 @@ Required: Optional: - `allow_privilege_escalation` (Boolean) AllowPrivilegeEscalation controls whether a process can gain moreprivileges than its parent process. This bool directly controls ifthe no_new_privs flag will be set on the container process.AllowPrivilegeEscalation is true always when the container is:1) run as Privileged2) has CAP_SYS_ADMINNote that this field cannot be set when spec.os.name is windows. +- `app_armor_profile` (Attributes) appArmorProfile is the AppArmor options to use by this container. If set, this profileoverrides the pod's appArmorProfile.Note that this field cannot be set when spec.os.name is windows. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--init_containers--security_context--app_armor_profile)) - `capabilities` (Attributes) The capabilities to add/drop when running containers.Defaults to the default set of capabilities granted by the container runtime.Note that this field cannot be set when spec.os.name is windows. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--init_containers--security_context--capabilities)) - `privileged` (Boolean) Run container in privileged mode.Processes in privileged containers are essentially equivalent to root on the host.Defaults to false.Note that this field cannot be set when spec.os.name is windows. - `proc_mount` (String) procMount denotes the type of proc mount to use for the containers.The default is DefaultProcMount which uses the container runtime defaults forreadonly paths and masked paths.This requires the ProcMountType feature flag to be enabled.Note that this field cannot be set when spec.os.name is windows. @@ -2281,6 +2313,18 @@ Optional: - `seccomp_profile` (Attributes) The seccomp options to use by this container. If seccomp options areprovided at both the pod & container level, the container optionsoverride the pod options.Note that this field cannot be set when spec.os.name is windows. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--init_containers--security_context--seccomp_profile)) - `windows_options` (Attributes) The Windows specific settings applied to all containers.If unspecified, the options from the PodSecurityContext will be used.If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.Note that this field cannot be set when spec.os.name is linux. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--init_containers--security_context--windows_options)) + +### Nested Schema for `spec.agent_deployment.spec.init_containers.security_context.app_armor_profile` + +Required: + +- `type` (String) type indicates which kind of AppArmor profile will be applied.Valid options are: Localhost - a profile pre-loaded on the node. RuntimeDefault - the container runtime's default profile. Unconfined - no AppArmor enforcement. + +Optional: + +- `localhost_profile` (String) localhostProfile indicates a profile loaded on the node that should be used.The profile must be preconfigured on the node to work.Must match the loaded name of the profile.Must be set if and only if type is 'Localhost'. + + ### Nested Schema for `spec.agent_deployment.spec.init_containers.security_context.capabilities` @@ -2417,8 +2461,9 @@ Required: Optional: -- `mount_propagation` (String) mountPropagation determines how mounts are propagated from the hostto container and the other way around.When not set, MountPropagationNone is used.This field is beta in 1.10. +- `mount_propagation` (String) mountPropagation determines how mounts are propagated from the hostto container and the other way around.When not set, MountPropagationNone is used.This field is beta in 1.10.When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified(which defaults to None). - `read_only` (Boolean) Mounted read-only if true, read-write otherwise (false or unspecified).Defaults to false. +- `recursive_read_only` (String) RecursiveReadOnly specifies whether read-only mounts should be handledrecursively.If ReadOnly is false, this field has no meaning and must be unspecified.If ReadOnly is true, and this field is set to Disabled, the mount is not maderecursively read-only. If this field is set to IfPossible, the mount is maderecursively read-only, if it is supported by the container runtime. If thisfield is set to Enabled, the mount is made recursively read-only if it issupported by the container runtime, otherwise the pod will not be started andan error will be generated to indicate the reason.If this field is set to IfPossible or Enabled, MountPropagation must be set toNone (or be unspecified, which defaults to None).If this field is not specified, it is treated as an equivalent of Disabled. - `sub_path` (String) Path within the volume from which the container's volume should be mounted.Defaults to '' (volume's root). - `sub_path_expr` (String) Expanded path within the volume from which the container's volume should be mounted.Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.Defaults to '' (volume's root).SubPathExpr and SubPath are mutually exclusive. @@ -2474,6 +2519,7 @@ Required: Optional: +- `app_armor_profile` (Attributes) appArmorProfile is the AppArmor options to use by the containers in this pod.Note that this field cannot be set when spec.os.name is windows. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--security_context--app_armor_profile)) - `fs_group` (Number) A special supplemental group that applies to all containers in a pod.Some volume types allow the Kubelet to change the ownership of that volumeto be owned by the pod:1. The owning GID will be the FSGroup2. The setgid bit is set (new files created in the volume will be owned by FSGroup)3. The permission bits are OR'd with rw-rw----If unset, the Kubelet will not modify the ownership and permissions of any volume.Note that this field cannot be set when spec.os.name is windows. - `fs_group_change_policy` (String) fsGroupChangePolicy defines behavior of changing ownership and permission of the volumebefore being exposed inside Pod. This field will only apply tovolume types which support fsGroup based ownership(and permissions).It will have no effect on ephemeral volume types such as: secret, configmapsand emptydir.Valid values are 'OnRootMismatch' and 'Always'. If not specified, 'Always' is used.Note that this field cannot be set when spec.os.name is windows. - `run_as_group` (Number) The GID to run the entrypoint of the container process.Uses runtime default if unset.May also be set in SecurityContext. If set in both SecurityContext andPodSecurityContext, the value specified in SecurityContext takes precedencefor that container.Note that this field cannot be set when spec.os.name is windows. @@ -2485,6 +2531,18 @@ Optional: - `sysctls` (Attributes List) Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupportedsysctls (by the container runtime) might fail to launch.Note that this field cannot be set when spec.os.name is windows. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--security_context--sysctls)) - `windows_options` (Attributes) The Windows specific settings applied to all containers.If unspecified, the options within a container's SecurityContext will be used.If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.Note that this field cannot be set when spec.os.name is linux. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--security_context--windows_options)) + +### Nested Schema for `spec.agent_deployment.spec.security_context.app_armor_profile` + +Required: + +- `type` (String) type indicates which kind of AppArmor profile will be applied.Valid options are: Localhost - a profile pre-loaded on the node. RuntimeDefault - the container runtime's default profile. Unconfined - no AppArmor enforcement. + +Optional: + +- `localhost_profile` (String) localhostProfile indicates a profile loaded on the node that should be used.The profile must be preconfigured on the node to work.Must match the loaded name of the profile.Must be set if and only if type is 'Localhost'. + + ### Nested Schema for `spec.agent_deployment.spec.security_context.se_linux_options` @@ -2554,7 +2612,7 @@ Optional: - `label_selector` (Attributes) LabelSelector is used to find matching pods.Pods that match this label selector are counted to determine the number of podsin their corresponding topology domain. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--topology_spread_constraints--label_selector)) - `match_label_keys` (List of String) MatchLabelKeys is a set of pod label keys to select the pods over whichspreading will be calculated. The keys are used to lookup values from theincoming pod labels, those key-value labels are ANDed with labelSelectorto select the group of existing pods over which spreading will be calculatedfor the incoming pod. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.MatchLabelKeys cannot be set when LabelSelector isn't set.Keys that don't exist in the incoming pod labels willbe ignored. A null or empty list means only match against labelSelector.This is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default). -- `min_domains` (Number) MinDomains indicates a minimum number of eligible domains.When the number of eligible domains with matching topology keys is less than minDomains,Pod Topology Spread treats 'global minimum' as 0, and then the calculation of Skew is performed.And when the number of eligible domains with matching topology keys equals or greater than minDomains,this value has no effect on scheduling.As a result, when the number of eligible domains is less than minDomains,scheduler won't schedule more than maxSkew Pods to those domains.If value is nil, the constraint behaves as if MinDomains is equal to 1.Valid values are integers greater than 0.When value is not nil, WhenUnsatisfiable must be DoNotSchedule.For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the samelabelSelector spread as 2/2/2:| zone1 | zone2 | zone3 || P P | P P | P P |The number of domains is less than 5(MinDomains), so 'global minimum' is treated as 0.In this situation, new pod with the same labelSelector cannot be scheduled,because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones,it will violate MaxSkew.This is a beta field and requires the MinDomainsInPodTopologySpread feature gate to be enabled (enabled by default). +- `min_domains` (Number) MinDomains indicates a minimum number of eligible domains.When the number of eligible domains with matching topology keys is less than minDomains,Pod Topology Spread treats 'global minimum' as 0, and then the calculation of Skew is performed.And when the number of eligible domains with matching topology keys equals or greater than minDomains,this value has no effect on scheduling.As a result, when the number of eligible domains is less than minDomains,scheduler won't schedule more than maxSkew Pods to those domains.If value is nil, the constraint behaves as if MinDomains is equal to 1.Valid values are integers greater than 0.When value is not nil, WhenUnsatisfiable must be DoNotSchedule.For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the samelabelSelector spread as 2/2/2:| zone1 | zone2 | zone3 || P P | P P | P P |The number of domains is less than 5(MinDomains), so 'global minimum' is treated as 0.In this situation, new pod with the same labelSelector cannot be scheduled,because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones,it will violate MaxSkew. - `node_affinity_policy` (String) NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelectorwhen calculating pod topology spread skew. Options are:- Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations.- Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations.If this value is nil, the behavior is equivalent to the Honor policy.This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag. - `node_taints_policy` (String) NodeTaintsPolicy indicates how we will treat node taints when calculatingpod topology spread skew. Options are:- Honor: nodes without taints, along with tainted nodes for which the incoming podhas a toleration, are included.- Ignore: node taints are ignored. All nodes are included.If this value is nil, the behavior is equivalent to the Ignore policy.This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag. @@ -2683,7 +2741,7 @@ Optional: Optional: -- `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid? +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. @@ -2705,7 +2763,7 @@ Optional: Optional: -- `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid? +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. @@ -2716,7 +2774,7 @@ Optional: - `default_mode` (Number) defaultMode is optional: mode bits used to set permissions on created files by default.Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.Defaults to 0644.Directories within the path are not affected by this setting.This might be in conflict with other options that affect the filemode, like fsGroup, and the result can be other mode bits set. - `items` (Attributes List) items if unspecified, each key-value pair in the Data field of the referencedConfigMap will be projected into the volume as a file whose name is thekey and content is the value. If specified, the listed keys will beprojected into the specified paths, and unlisted keys will not bepresent. If a key is specified which is not present in the ConfigMap,the volume setup will error unless it is marked optional. Paths must berelative and may not contain the '..' path or start with '..'. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--volumes--config_map--items)) -- `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid? +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. - `optional` (Boolean) optional specify whether the ConfigMap or its keys must be defined @@ -2752,7 +2810,7 @@ Optional: Optional: -- `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid? +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. @@ -2773,7 +2831,7 @@ Required: Optional: -- `field_ref` (Attributes) Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--volumes--downward_api--items--field_ref)) +- `field_ref` (Attributes) Required: Selects a field of the pod: only annotations, labels, name, namespace and uid are supported. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--volumes--downward_api--items--field_ref)) - `mode` (Number) Optional: mode bits used to set permissions on this file, must be an octal valuebetween 0000 and 0777 or a decimal value between 0 and 511.YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.If not specified, the volume defaultMode will be used.This might be in conflict with other options that affect the filemode, like fsGroup, and the result can be other mode bits set. - `resource_field_ref` (Attributes) Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--volumes--downward_api--items--resource_field_ref)) @@ -2842,7 +2900,7 @@ Optional: - `resources` (Attributes) resources represents the minimum resources the volume should have.If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirementsthat are lower than previous value but must still be higher than capacity recorded in thestatus field of the claim.More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--volumes--ephemeral--volume_claim_template--spec--resources)) - `selector` (Attributes) selector is a label query over volumes to consider for binding. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--volumes--ephemeral--volume_claim_template--spec--selector)) - `storage_class_name` (String) storageClassName is the name of the StorageClass required by the claim.More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 -- `volume_attributes_class_name` (String) volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.If specified, the CSI driver will create or update the volume with the attributes definedin the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,it can be changed after the claim is created. An empty string value means that no VolumeAttributesClasswill be applied to the claim but it's not allowed to reset this field to empty string once it is set.If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClasswill be set by the persistentvolume controller if it exists.If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will beset to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resourceexists.More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#volumeattributesclass(Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled. +- `volume_attributes_class_name` (String) volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.If specified, the CSI driver will create or update the volume with the attributes definedin the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,it can be changed after the claim is created. An empty string value means that no VolumeAttributesClasswill be applied to the claim but it's not allowed to reset this field to empty string once it is set.If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClasswill be set by the persistentvolume controller if it exists.If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will beset to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resourceexists.More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/(Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled. - `volume_mode` (String) volumeMode defines what type of volume is required by the claim.Value of Filesystem is implied when not included in claim spec. - `volume_name` (String) volumeName is the binding reference to the PersistentVolume backing this claim. @@ -2938,7 +2996,7 @@ Optional: Optional: -- `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid? +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. @@ -3028,7 +3086,7 @@ Optional: Optional: -- `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid? +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. @@ -3144,7 +3202,7 @@ Optional: Optional: - `items` (Attributes List) items if unspecified, each key-value pair in the Data field of the referencedConfigMap will be projected into the volume as a file whose name is thekey and content is the value. If specified, the listed keys will beprojected into the specified paths, and unlisted keys will not bepresent. If a key is specified which is not present in the ConfigMap,the volume setup will error unless it is marked optional. Paths must berelative and may not contain the '..' path or start with '..'. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--volumes--projected--sources--config_map--items)) -- `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid? +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. - `optional` (Boolean) optional specify whether the ConfigMap or its keys must be defined @@ -3177,7 +3235,7 @@ Required: Optional: -- `field_ref` (Attributes) Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--volumes--projected--sources--downward_api--items--field_ref)) +- `field_ref` (Attributes) Required: Selects a field of the pod: only annotations, labels, name, namespace and uid are supported. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--volumes--projected--sources--downward_api--items--field_ref)) - `mode` (Number) Optional: mode bits used to set permissions on this file, must be an octal valuebetween 0000 and 0777 or a decimal value between 0 and 511.YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.If not specified, the volume defaultMode will be used.This might be in conflict with other options that affect the filemode, like fsGroup, and the result can be other mode bits set. - `resource_field_ref` (Attributes) Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--volumes--projected--sources--downward_api--items--resource_field_ref)) @@ -3214,7 +3272,7 @@ Optional: Optional: - `items` (Attributes List) items if unspecified, each key-value pair in the Data field of the referencedSecret will be projected into the volume as a file whose name is thekey and content is the value. If specified, the listed keys will beprojected into the specified paths, and unlisted keys will not bepresent. If a key is specified which is not present in the Secret,the volume setup will error unless it is marked optional. Paths must berelative and may not contain the '..' path or start with '..'. (see [below for nested schema](#nestedatt--spec--agent_deployment--spec--volumes--projected--sources--secret--items)) -- `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid? +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. - `optional` (Boolean) optional field specify whether the Secret or its key must be defined @@ -3284,7 +3342,7 @@ Optional: Optional: -- `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid? +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. @@ -3312,7 +3370,7 @@ Optional: Optional: -- `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid? +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. @@ -3356,7 +3414,7 @@ Optional: Optional: -- `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid? +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. diff --git a/docs/data-sources/app_terraform_io_module_v1alpha2_manifest.md b/docs/data-sources/app_terraform_io_module_v1alpha2_manifest.md index 28aacac62..361cfcfb2 100644 --- a/docs/data-sources/app_terraform_io_module_v1alpha2_manifest.md +++ b/docs/data-sources/app_terraform_io_module_v1alpha2_manifest.md @@ -93,7 +93,7 @@ Required: Optional: -- `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid? +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. - `optional` (Boolean) Specify whether the Secret or its key must be defined diff --git a/docs/data-sources/app_terraform_io_workspace_v1alpha2_manifest.md b/docs/data-sources/app_terraform_io_workspace_v1alpha2_manifest.md index b749826e9..396d54372 100644 --- a/docs/data-sources/app_terraform_io_workspace_v1alpha2_manifest.md +++ b/docs/data-sources/app_terraform_io_workspace_v1alpha2_manifest.md @@ -102,7 +102,7 @@ Required: Optional: -- `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid? +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. - `optional` (Boolean) Specify whether the Secret or its key must be defined @@ -148,7 +148,7 @@ Required: Optional: -- `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid? +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. - `optional` (Boolean) Specify whether the ConfigMap or its key must be defined @@ -161,7 +161,7 @@ Required: Optional: -- `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid? +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. - `optional` (Boolean) Specify whether the Secret or its key must be defined @@ -308,7 +308,7 @@ Required: Optional: -- `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid? +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. - `optional` (Boolean) Specify whether the ConfigMap or its key must be defined @@ -321,7 +321,7 @@ Required: Optional: -- `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid? +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. - `optional` (Boolean) Specify whether the Secret or its key must be defined diff --git a/docs/data-sources/apps_kubeblocks_io_backup_policy_template_v1alpha1_manifest.md b/docs/data-sources/apps_kubeblocks_io_backup_policy_template_v1alpha1_manifest.md index a010db874..6c6819a40 100644 --- a/docs/data-sources/apps_kubeblocks_io_backup_policy_template_v1alpha1_manifest.md +++ b/docs/data-sources/apps_kubeblocks_io_backup_policy_template_v1alpha1_manifest.md @@ -240,6 +240,7 @@ Optional: - `account` (String) If 'backupPolicy.componentDefs' is set, this field is required to specify the system account name.This account must match one listed in 'componentDefinition.spec.systemAccounts[*].name'.The corresponding secret created by this account is used to connect to the database. - `connection_credential` (Attributes) Specifies the connection credential to connect to the target database cluster. (see [below for nested schema](#nestedatt--spec--backup_policies--backup_methods--target--connection_credential)) +- `container_port` (Attributes) Specifies the container port in the target pod.If not specified, the first container and its first port will be used. (see [below for nested schema](#nestedatt--spec--backup_policies--backup_methods--target--container_port)) - `fallback_role` (String) Specifies the fallback role to select one replica for backup, this only takes effect when the'strategy' field below is set to 'Any'. - `name` (String) Specifies a mandatory and unique identifier for each target when using the 'targets' field.The backup data for the current target is stored in a uniquely named subdirectory. - `pod_selector` (Attributes) Used to find the target pod. The volumes of the target pod will be backed up. (see [below for nested schema](#nestedatt--spec--backup_policies--backup_methods--target--pod_selector)) @@ -262,6 +263,15 @@ Optional: - `username_key` (String) Specifies the map key of the user in the connection credential secret. + +### Nested Schema for `spec.backup_policies.backup_methods.target.container_port` + +Optional: + +- `container_name` (String) Specifies the name of container with the port. +- `port_name` (String) Specifies the port name. + + ### Nested Schema for `spec.backup_policies.backup_methods.target.pod_selector` @@ -372,6 +382,7 @@ Optional: Optional: - `connection_credential` (Attributes) Specifies the connection credential to connect to the target database cluster. (see [below for nested schema](#nestedatt--spec--backup_policies--backup_methods--targets--connection_credential)) +- `container_port` (Attributes) Specifies the container port in the target pod.If not specified, the first container and its first port will be used. (see [below for nested schema](#nestedatt--spec--backup_policies--backup_methods--targets--container_port)) - `name` (String) Specifies a mandatory and unique identifier for each target when using the 'targets' field.The backup data for the current target is stored in a uniquely named subdirectory. - `pod_selector` (Attributes) Used to find the target pod. The volumes of the target pod will be backed up. (see [below for nested schema](#nestedatt--spec--backup_policies--backup_methods--targets--pod_selector)) - `resources` (Attributes) Specifies the kubernetes resources to back up. (see [below for nested schema](#nestedatt--spec--backup_policies--backup_methods--targets--resources)) @@ -392,6 +403,15 @@ Optional: - `username_key` (String) Specifies the map key of the user in the connection credential secret. + +### Nested Schema for `spec.backup_policies.backup_methods.targets.container_port` + +Optional: + +- `container_name` (String) Specifies the name of container with the port. +- `port_name` (String) Specifies the port name. + + ### Nested Schema for `spec.backup_policies.backup_methods.targets.pod_selector` @@ -496,5 +516,14 @@ Required: Optional: - `account` (String) If 'backupPolicy.componentDefs' is set, this field is required to specify the system account name.This account must match one listed in 'componentDefinition.spec.systemAccounts[*].name'.The corresponding secret created by this account is used to connect to the database. +- `container_port` (Attributes) Specifies the container port in the target pod.If not specified, the first container and its first port will be used. (see [below for nested schema](#nestedatt--spec--backup_policies--target--container_port)) - `fallback_role` (String) Specifies the fallback role to select one replica for backup, this only takes effect when the'strategy' field below is set to 'Any'. - `strategy` (String) Specifies the PodSelectionStrategy to use when multiple pods areselected for the backup target.Valid values are:- Any: Selects any one pod that matches the labelsSelector.- All: Selects all pods that match the labelsSelector. + + +### Nested Schema for `spec.backup_policies.target.container_port` + +Optional: + +- `container_name` (String) Specifies the name of container with the port. +- `port_name` (String) Specifies the port name. diff --git a/docs/data-sources/apps_kubeblocks_io_component_definition_v1alpha1_manifest.md b/docs/data-sources/apps_kubeblocks_io_component_definition_v1alpha1_manifest.md index 44e0e34e0..95a57e975 100644 --- a/docs/data-sources/apps_kubeblocks_io_component_definition_v1alpha1_manifest.md +++ b/docs/data-sources/apps_kubeblocks_io_component_definition_v1alpha1_manifest.md @@ -3440,49 +3440,41 @@ Optional: - `account_provision` (Attributes) Defines the procedure to generate a new database account.Use Case:This action is designed to create system accounts that are utilized for replication, monitoring, backup,and other administrative tasks.Note: This field is immutable once it has been set. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--account_provision)) - `data_dump` (Attributes) Defines the procedure for exporting the data from a replica.Use Case:This action is intended for initializing a newly created replica with data. It involves exporting datafrom an existing replica and importing it into the new, empty replica. This is essential for synchronizingthe state of replicas across the system.Applicability:Some database engines or associated sidecar applications (e.g., Patroni) may already provide this functionality.In such cases, this action may not be required.The output should be a valid data dump streamed to stdout. It must exclude any irrelevant information to ensurethat only the necessary data is exported for import into the new replica.Note: This field is immutable once it has been set. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--data_dump)) - `data_load` (Attributes) Defines the procedure for importing data into a replica.Use Case:This action is intended for initializing a newly created replica with data. It involves exporting datafrom an existing replica and importing it into the new, empty replica. This is essential for synchronizingthe state of replicas across the system.Some database engines or associated sidecar applications (e.g., Patroni) may already provide this functionality.In such cases, this action may not be required.Data should be received through stdin. If any error occurs during the process,the action must be able to guarantee idempotence to allow for retries from the beginning.Note: This field is immutable once it has been set. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--data_load)) -- `member_join` (Attributes) Defines the procedure to add a new replica to the replication group.This action is initiated after a replica pod becomes ready.The role of the replica (e.g., primary, secondary) will be determined and assigned as part of the action commandimplementation, or automatically by the database kernel or a sidecar utility like Patroni that implementsa consensus algorithm.The container executing this action has access to following environment variables:- KB_SERVICE_PORT: The port used by the database service.- KB_SERVICE_USER: The username with the necessary permissions to interact with the database service.- KB_SERVICE_PASSWORD: The corresponding password for KB_SERVICE_USER to authenticate with the database service.- KB_PRIMARY_POD_FQDN: The FQDN of the primary Pod within the replication group.- KB_MEMBER_ADDRESSES: A comma-separated list of Pod addresses for all replicas in the group.- KB_NEW_MEMBER_POD_NAME: The pod name of the replica being added to the group.- KB_NEW_MEMBER_POD_IP: The IP address of the replica being added to the group.Expected action output:- On Failure: An error message detailing the reason for any failure encountered during the addition of the new member.For example, to add a new OBServer to an OceanBase Cluster in 'zone1', the following command may be used:'''yamlcommand:- bash- -c- | ADDRESS=$(KB_MEMBER_ADDRESSES%%,*) HOST=$(echo $ADDRESS | cut -d ':' -f 1) PORT=$(echo $ADDRESS | cut -d ':' -f 2) CLIENT='mysql -u $KB_SERVICE_USER -p$KB_SERVICE_PASSWORD -P $PORT -h $HOST -e' $CLIENT 'ALTER SYSTEM ADD SERVER '$KB_NEW_MEMBER_POD_IP:$KB_SERVICE_PORT' ZONE 'zone1'''''Note: This field is immutable once it has been set. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_join)) -- `member_leave` (Attributes) Defines the procedure to remove a replica from the replication group.This action is initiated before remove a replica from the group.The operator will wait for MemberLeave to complete successfully before releasing the replica and cleaning uprelated Kubernetes resources.The process typically includes updating configurations and informing other group members about the removal.Data migration is generally not part of this action and should be handled separately if needed.The container executing this action has access to following environment variables:- KB_SERVICE_PORT: The port used by the database service.- KB_SERVICE_USER: The username with the necessary permissions to interact with the database service.- KB_SERVICE_PASSWORD: The corresponding password for KB_SERVICE_USER to authenticate with the database service.- KB_PRIMARY_POD_FQDN: The FQDN of the primary Pod within the replication group.- KB_MEMBER_ADDRESSES: A comma-separated list of Pod addresses for all replicas in the group.- KB_LEAVE_MEMBER_POD_NAME: The pod name of the replica being removed from the group.- KB_LEAVE_MEMBER_POD_IP: The IP address of the replica being removed from the group.Expected action output:- On Failure: An error message, if applicable, indicating why the action failed.For example, to remove an OBServer from an OceanBase Cluster in 'zone1', the following command can be executed:'''yamlcommand:- bash- -c- | ADDRESS=$(KB_MEMBER_ADDRESSES%%,*) HOST=$(echo $ADDRESS | cut -d ':' -f 1) PORT=$(echo $ADDRESS | cut -d ':' -f 2) CLIENT='mysql -u $KB_SERVICE_USER -p$KB_SERVICE_PASSWORD -P $PORT -h $HOST -e' $CLIENT 'ALTER SYSTEM DELETE SERVER '$KB_LEAVE_MEMBER_POD_IP:$KB_SERVICE_PORT' ZONE 'zone1'''''Note: This field is immutable once it has been set. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_leave)) +- `member_join` (Attributes) Defines the procedure to add a new replica to the replication group.This action is initiated after a replica pod becomes ready.The role of the replica (e.g., primary, secondary) will be determined and assigned as part of the action commandimplementation, or automatically by the database kernel or a sidecar utility like Patroni that implementsa consensus algorithm.The container executing this action has access to following variables:- KB_JOIN_MEMBER_POD_FQDN: The pod FQDN of the replica being added to the group.- KB_JOIN_MEMBER_POD_NAME: The pod name of the replica being added to the group.Expected action output:- On Failure: An error message detailing the reason for any failure encountered during the addition of the new member.For example, to add a new OBServer to an OceanBase Cluster in 'zone1', the following command may be used:'''yamlcommand:- bash- -c- | CLIENT='mysql -u $SERVICE_USER -p$SERVICE_PASSWORD -P $SERVICE_PORT -h $SERVICE_HOST -e' $CLIENT 'ALTER SYSTEM ADD SERVER '$KB_POD_FQDN:$SERVICE_PORT' ZONE 'zone1'''''Note: This field is immutable once it has been set. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_join)) +- `member_leave` (Attributes) Defines the procedure to remove a replica from the replication group.This action is initiated before remove a replica from the group.The operator will wait for MemberLeave to complete successfully before releasing the replica and cleaning uprelated Kubernetes resources.The process typically includes updating configurations and informing other group members about the removal.Data migration is generally not part of this action and should be handled separately if needed.The container executing this action has access to following variables:- KB_LEAVE_MEMBER_POD_FQDN: The pod name of the replica being removed from the group.- KB_LEAVE_MEMBER_POD_NAME: The pod name of the replica being removed from the group.Expected action output:- On Failure: An error message, if applicable, indicating why the action failed.For example, to remove an OBServer from an OceanBase Cluster in 'zone1', the following command can be executed:'''yamlcommand:- bash- -c- | CLIENT='mysql -u $SERVICE_USER -p$SERVICE_PASSWORD -P $SERVICE_PORT -h $SERVICE_HOST -e' $CLIENT 'ALTER SYSTEM DELETE SERVER '$KB_POD_FQDN:$SERVICE_PORT' ZONE 'zone1'''''Note: This field is immutable once it has been set. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_leave)) - `post_provision` (Attributes) Specifies the hook to be executed after a component's creation.By setting 'postProvision.customHandler.preCondition', you can determine the specific lifecycle stageat which the action should trigger: 'Immediately', 'RuntimeReady', 'ComponentReady', and 'ClusterReady'.with 'ComponentReady' being the default.The PostProvision Action is intended to run only once.The container executing this action has access to following environment variables:- KB_CLUSTER_POD_IP_LIST: Comma-separated list of the cluster's pod IP addresses (e.g., 'podIp1,podIp2').- KB_CLUSTER_POD_NAME_LIST: Comma-separated list of the cluster's pod names (e.g., 'pod1,pod2').- KB_CLUSTER_POD_HOST_NAME_LIST: Comma-separated list of host names, each corresponding to a pod in KB_CLUSTER_POD_NAME_LIST (e.g., 'hostName1,hostName2').- KB_CLUSTER_POD_HOST_IP_LIST: Comma-separated list of host IP addresses, each corresponding to a pod in KB_CLUSTER_POD_NAME_LIST (e.g., 'hostIp1,hostIp2').- KB_CLUSTER_COMPONENT_POD_NAME_LIST: Comma-separated list of all pod names within the component (e.g., 'pod1,pod2').- KB_CLUSTER_COMPONENT_POD_IP_LIST: Comma-separated list of pod IP addresses, matching the order of pods in KB_CLUSTER_COMPONENT_POD_NAME_LIST (e.g., 'podIp1,podIp2').- KB_CLUSTER_COMPONENT_POD_HOST_NAME_LIST: Comma-separated list of host names for each pod, matching the order of pods in KB_CLUSTER_COMPONENT_POD_NAME_LIST (e.g., 'hostName1,hostName2').- KB_CLUSTER_COMPONENT_POD_HOST_IP_LIST: Comma-separated list of host IP addresses for each pod, matching the order of pods in KB_CLUSTER_COMPONENT_POD_NAME_LIST (e.g., 'hostIp1,hostIp2').- KB_CLUSTER_COMPONENT_LIST: Comma-separated list of all cluster components (e.g., 'comp1,comp2').- KB_CLUSTER_COMPONENT_DELETING_LIST: Comma-separated list of components that are currently being deleted (e.g., 'comp1,comp2').- KB_CLUSTER_COMPONENT_UNDELETED_LIST: Comma-separated list of components that are not being deleted (e.g., 'comp1,comp2').Note: This field is immutable once it has been set. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--post_provision)) - `pre_terminate` (Attributes) Specifies the hook to be executed prior to terminating a component.The PreTerminate Action is intended to run only once.This action is executed immediately when a scale-down operation for the Component is initiated.The actual termination and cleanup of the Component and its associated resources will not proceeduntil the PreTerminate action has completed successfully.The container executing this action has access to following environment variables:- KB_CLUSTER_POD_IP_LIST: Comma-separated list of the cluster's pod IP addresses (e.g., 'podIp1,podIp2').- KB_CLUSTER_POD_NAME_LIST: Comma-separated list of the cluster's pod names (e.g., 'pod1,pod2').- KB_CLUSTER_POD_HOST_NAME_LIST: Comma-separated list of host names, each corresponding to a pod in KB_CLUSTER_POD_NAME_LIST (e.g., 'hostName1,hostName2').- KB_CLUSTER_POD_HOST_IP_LIST: Comma-separated list of host IP addresses, each corresponding to a pod in KB_CLUSTER_POD_NAME_LIST (e.g., 'hostIp1,hostIp2').- KB_CLUSTER_COMPONENT_POD_NAME_LIST: Comma-separated list of all pod names within the component (e.g., 'pod1,pod2').- KB_CLUSTER_COMPONENT_POD_IP_LIST: Comma-separated list of pod IP addresses, matching the order of pods in KB_CLUSTER_COMPONENT_POD_NAME_LIST (e.g., 'podIp1,podIp2').- KB_CLUSTER_COMPONENT_POD_HOST_NAME_LIST: Comma-separated list of host names for each pod, matching the order of pods in KB_CLUSTER_COMPONENT_POD_NAME_LIST (e.g., 'hostName1,hostName2').- KB_CLUSTER_COMPONENT_POD_HOST_IP_LIST: Comma-separated list of host IP addresses for each pod, matching the order of pods in KB_CLUSTER_COMPONENT_POD_NAME_LIST (e.g., 'hostIp1,hostIp2').- KB_CLUSTER_COMPONENT_LIST: Comma-separated list of all cluster components (e.g., 'comp1,comp2').- KB_CLUSTER_COMPONENT_DELETING_LIST: Comma-separated list of components that are currently being deleted (e.g., 'comp1,comp2').- KB_CLUSTER_COMPONENT_UNDELETED_LIST: Comma-separated list of components that are not being deleted (e.g., 'comp1,comp2').- KB_CLUSTER_COMPONENT_IS_SCALING_IN: Indicates whether the component is currently scaling in. If this variable is present and set to 'true', it denotes that the component is undergoing a scale-in operation. During scale-in, data rebalancing is necessary to maintain cluster integrity. Contrast this with a cluster deletion scenario where data rebalancing is not required as the entire cluster is being cleaned up.Note: This field is immutable once it has been set. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--pre_terminate)) -- `readonly` (Attributes) Defines the procedure to switch a replica into the read-only state.Use Case:This action is invoked when the database's volume capacity nears its upper limit and space is about to be exhausted.The container executing this action has access to following environment variables:- KB_POD_FQDN: The FQDN of the replica pod whose role is being checked.- KB_SERVICE_PORT: The port used by the database service.- KB_SERVICE_USER: The username with the necessary permissions to interact with the database service.- KB_SERVICE_PASSWORD: The corresponding password for KB_SERVICE_USER to authenticate with the database service.Expected action output:- On Failure: An error message, if applicable, indicating why the action failed.Note: This field is immutable once it has been set. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readonly)) -- `readwrite` (Attributes) Defines the procedure to transition a replica from the read-only state back to the read-write state.Use Case:This action is used to bring back a replica that was previously in a read-only state,which restricted write operations, to its normal operational state where it can handleboth read and write operations.The container executing this action has access to following environment variables:- KB_POD_FQDN: The FQDN of the replica pod whose role is being checked.- KB_SERVICE_PORT: The port used by the database service.- KB_SERVICE_USER: The username with the necessary permissions to interact with the database service.- KB_SERVICE_PASSWORD: The corresponding password for KB_SERVICE_USER to authenticate with the database service.Expected action output:- On Failure: An error message, if applicable, indicating why the action failed.Note: This field is immutable once it has been set. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readwrite)) +- `readonly` (Attributes) Defines the procedure to switch a replica into the read-only state.Use Case:This action is invoked when the database's volume capacity nears its upper limit and space is about to be exhausted.The container executing this action has access to following environment variables:- KB_POD_FQDN: The FQDN of the replica pod whose role is being checked.Expected action output:- On Failure: An error message, if applicable, indicating why the action failed.Note: This field is immutable once it has been set. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readonly)) +- `readwrite` (Attributes) Defines the procedure to transition a replica from the read-only state back to the read-write state.Use Case:This action is used to bring back a replica that was previously in a read-only state,which restricted write operations, to its normal operational state where it can handleboth read and write operations.The container executing this action has access to following environment variables:- KB_POD_FQDN: The FQDN of the replica pod whose role is being checked.Expected action output:- On Failure: An error message, if applicable, indicating why the action failed.Note: This field is immutable once it has been set. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readwrite)) - `reconfigure` (Attributes) Defines the procedure that update a replica with new configuration.Note: This field is immutable once it has been set.This Action is reserved for future versions. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--reconfigure)) -- `role_probe` (Attributes) Defines the procedure which is invoked regularly to assess the role of replicas.This action is periodically triggered by Lorry at the specified interval to determine the role of each replica.Upon successful execution, the action's output designates the role of the replica,which should match one of the predefined role names within 'componentDefinition.spec.roles'.The output is then compared with the previous successful execution result.If a role change is detected, an event is generated to inform the controller,which initiates an update of the replica's role.Defining a RoleProbe Action for a Component is required if roles are defined for the Component.It ensures replicas are correctly labeled with their respective roles.Without this, services that rely on roleSelectors might improperly direct traffic to wrong replicas.The container executing this action has access to following environment variables:- KB_POD_FQDN: The FQDN of the Pod whose role is being assessed.- KB_SERVICE_PORT: The port used by the database service.- KB_SERVICE_USER: The username with the necessary permissions to interact with the database service.- KB_SERVICE_PASSWORD: The corresponding password for KB_SERVICE_USER to authenticate with the database service.Expected output of this action:- On Success: The determined role of the replica, which must align with one of the roles specified in the component definition.- On Failure: An error message, if applicable, indicating why the action failed.Note: This field is immutable once it has been set. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--role_probe)) -- `switchover` (Attributes) Defines the procedure for a controlled transition of leadership from the current leader to a new replica.This approach aims to minimize downtime and maintain availability in systems with a leader-follower topology,during events such as planned maintenance or when performing stop, shutdown, restart, or upgrade operationsinvolving the current leader node.The container executing this action has access to following environment variables:- KB_SWITCHOVER_CANDIDATE_NAME: The name of the pod for the new leader candidate, which may not be specified (empty).- KB_SWITCHOVER_CANDIDATE_FQDN: The FQDN of the new leader candidate's pod, which may not be specified (empty).- KB_LEADER_POD_IP: The IP address of the current leader's pod prior to the switchover.- KB_LEADER_POD_NAME: The name of the current leader's pod prior to the switchover.- KB_LEADER_POD_FQDN: The FQDN of the current leader's pod prior to the switchover.The environment variables with the following prefixes are deprecated and will be removed in future releases:- KB_REPLICATION_PRIMARY_POD_- KB_CONSENSUS_LEADER_POD_Note: This field is immutable once it has been set. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--switchover)) +- `role_probe` (Attributes) Defines the procedure which is invoked regularly to assess the role of replicas.This action is periodically triggered at the specified interval to determine the role of each replica.Upon successful execution, the action's output designates the role of the replica,which should match one of the predefined role names within 'componentDefinition.spec.roles'.The output is then compared with the previous successful execution result.If a role change is detected, an event is generated to inform the controller,which initiates an update of the replica's role.Defining a RoleProbe Action for a Component is required if roles are defined for the Component.It ensures replicas are correctly labeled with their respective roles.Without this, services that rely on roleSelectors might improperly direct traffic to wrong replicas.The container executing this action has access to following variables:- KB_POD_FQDN: The FQDN of the Pod whose role is being assessed.Expected output of this action:- On Success: The determined role of the replica, which must align with one of the roles specified in the component definition.- On Failure: An error message, if applicable, indicating why the action failed.Note: This field is immutable once it has been set. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--role_probe)) +- `switchover` (Attributes) Defines the procedure for a controlled transition of leadership from the current leader to a new replica.This approach aims to minimize downtime and maintain availability in systems with a leader-follower topology,during events such as planned maintenance or when performing stop, shutdown, restart, or upgrade operationsinvolving the current leader node.The container executing this action has access to following environment variables:- KB_LEADER_POD_IP: The IP address of the current leader's pod prior to the switchover.- KB_LEADER_POD_NAME: The name of the current leader's pod prior to the switchover.- KB_LEADER_POD_FQDN: The FQDN of the current leader's pod prior to the switchover.- KB_SWITCHOVER_CANDIDATE_NAME: The name of the pod for the new leader candidate, which may not be specified (empty).- KB_SWITCHOVER_CANDIDATE_FQDN: The FQDN of the new leader candidate's pod, which may not be specified (empty).Note: This field is immutable once it has been set. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--switchover)) ### Nested Schema for `spec.lifecycle_actions.account_provision` Optional: -- `builtin_handler` (String) Specifies the name of the predefined action handler to be invoked for lifecycle actions.Lorry, as a sidecar agent co-located with the database container in the same Pod,includes a suite of built-in action implementations that are tailored to different database engines.These are known as 'builtin' handlers, includes: 'mysql', 'redis', 'mongodb', 'etcd','postgresql', 'official-postgresql', 'apecloud-postgresql', 'wesql', 'oceanbase', 'polardbx'.If the 'builtinHandler' field is specified, it instructs Lorry to utilize its internal built-in action handlerto execute the specified lifecycle actions.The 'builtinHandler' field is of type 'BuiltinActionHandlerType',which represents the name of the built-in handler.The 'builtinHandler' specified within the same 'ComponentLifecycleActions' should be consistent across allactions.This means that if you specify a built-in handler for one action, you should use the same handlerfor all other actions throughout the entire 'ComponentLifecycleActions' collection.If you need to define lifecycle actions for database engines not covered by the existing built-in support,or when the pre-existing built-in handlers do not meet your specific needs,you can use the 'customHandler' field to define your own action implementation.Deprecation Notice:- In the future, the 'builtinHandler' field will be deprecated in favor of using the 'customHandler' field for configuring all lifecycle actions.- Instead of using a name to indicate the built-in action implementations in Lorry, the recommended approach will be to explicitly invoke the desired action implementation through a gRPC interface exposed by the sidecar agent.- Developers will have the flexibility to either use the built-in action implementations provided by Lorry or develop their own sidecar agent to implement custom actions and expose them via gRPC interfaces.- This change will allow for greater customization and extensibility of lifecycle actions, as developers can create their own 'builtin' implementations tailored to their specific requirements. -- `custom_handler` (Attributes) Specifies a user-defined hook or procedure that is called to perform the specific lifecycle action.It offers a flexible and expandable approach for customizing the behavior of a Component by leveragingtailored actions.An Action can be implemented as either an ExecAction or an HTTPAction, with future versions planningto support GRPCAction,thereby accommodating unique logic for different database systems within the Action's framework.In future iterations, all built-in handlers are expected to transition to GRPCAction.This change means that Lorry or other sidecar agents will expose the implementation of actionsthrough a GRPC interface for external invocation.Then the controller will interact with these actions via GRPCAction calls. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--account_provision--custom_handler)) - - -### Nested Schema for `spec.lifecycle_actions.account_provision.custom_handler` - -Optional: - -- `exec` (Attributes) Defines the command to run.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--account_provision--custom_handler--exec)) +- `exec` (Attributes) Defines the command to run.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--account_provision--exec)) - `pre_condition` (String) Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated. -- `retry_policy` (Attributes) Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--account_provision--custom_handler--retry_policy)) +- `retry_policy` (Attributes) Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--account_provision--retry_policy)) - `timeout_seconds` (Number) Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated. - -### Nested Schema for `spec.lifecycle_actions.account_provision.custom_handler.exec` + +### Nested Schema for `spec.lifecycle_actions.account_provision.exec` Optional: - `args` (List of String) Args represents the arguments that are passed to the 'command' for execution. - `command` (List of String) Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure. - `container` (String) Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active. -- `env` (Attributes List) Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--account_provision--custom_handler--exec--env)) +- `env` (Attributes List) Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--account_provision--exec--env)) - `image` (String) Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated. - `matching_key` (String) Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active. - `target_pod_selector` (String) Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active. - -### Nested Schema for `spec.lifecycle_actions.account_provision.custom_handler.exec.env` + +### Nested Schema for `spec.lifecycle_actions.account_provision.exec.env` Required: @@ -3491,20 +3483,20 @@ Required: Optional: - `value` (String) Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''. -- `value_from` (Attributes) Source for the environment variable's value. Cannot be used if value is not empty. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--account_provision--custom_handler--exec--env--value_from)) +- `value_from` (Attributes) Source for the environment variable's value. Cannot be used if value is not empty. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--account_provision--exec--env--value_from)) - -### Nested Schema for `spec.lifecycle_actions.account_provision.custom_handler.exec.env.value_from` + +### Nested Schema for `spec.lifecycle_actions.account_provision.exec.env.value_from` Optional: -- `config_map_key_ref` (Attributes) Selects a key of a ConfigMap. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--account_provision--custom_handler--exec--env--value_from--config_map_key_ref)) -- `field_ref` (Attributes) Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--account_provision--custom_handler--exec--env--value_from--field_ref)) -- `resource_field_ref` (Attributes) Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--account_provision--custom_handler--exec--env--value_from--resource_field_ref)) -- `secret_key_ref` (Attributes) Selects a key of a secret in the pod's namespace (see [below for nested schema](#nestedatt--spec--lifecycle_actions--account_provision--custom_handler--exec--env--value_from--secret_key_ref)) +- `config_map_key_ref` (Attributes) Selects a key of a ConfigMap. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--account_provision--exec--env--value_from--config_map_key_ref)) +- `field_ref` (Attributes) Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--account_provision--exec--env--value_from--field_ref)) +- `resource_field_ref` (Attributes) Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--account_provision--exec--env--value_from--resource_field_ref)) +- `secret_key_ref` (Attributes) Selects a key of a secret in the pod's namespace (see [below for nested schema](#nestedatt--spec--lifecycle_actions--account_provision--exec--env--value_from--secret_key_ref)) - -### Nested Schema for `spec.lifecycle_actions.account_provision.custom_handler.exec.env.value_from.config_map_key_ref` + +### Nested Schema for `spec.lifecycle_actions.account_provision.exec.env.value_from.config_map_key_ref` Required: @@ -3516,8 +3508,8 @@ Optional: - `optional` (Boolean) Specify whether the ConfigMap or its key must be defined - -### Nested Schema for `spec.lifecycle_actions.account_provision.custom_handler.exec.env.value_from.field_ref` + +### Nested Schema for `spec.lifecycle_actions.account_provision.exec.env.value_from.field_ref` Required: @@ -3528,8 +3520,8 @@ Optional: - `api_version` (String) Version of the schema the FieldPath is written in terms of, defaults to 'v1'. - -### Nested Schema for `spec.lifecycle_actions.account_provision.custom_handler.exec.env.value_from.resource_field_ref` + +### Nested Schema for `spec.lifecycle_actions.account_provision.exec.env.value_from.resource_field_ref` Required: @@ -3541,8 +3533,8 @@ Optional: - `divisor` (String) Specifies the output format of the exposed resources, defaults to '1' - -### Nested Schema for `spec.lifecycle_actions.account_provision.custom_handler.exec.env.value_from.secret_key_ref` + +### Nested Schema for `spec.lifecycle_actions.account_provision.exec.env.value_from.secret_key_ref` Required: @@ -3557,8 +3549,8 @@ Optional: - -### Nested Schema for `spec.lifecycle_actions.account_provision.custom_handler.retry_policy` + +### Nested Schema for `spec.lifecycle_actions.account_provision.retry_policy` Optional: @@ -3567,40 +3559,31 @@ Optional: - ### Nested Schema for `spec.lifecycle_actions.data_dump` Optional: -- `builtin_handler` (String) Specifies the name of the predefined action handler to be invoked for lifecycle actions.Lorry, as a sidecar agent co-located with the database container in the same Pod,includes a suite of built-in action implementations that are tailored to different database engines.These are known as 'builtin' handlers, includes: 'mysql', 'redis', 'mongodb', 'etcd','postgresql', 'official-postgresql', 'apecloud-postgresql', 'wesql', 'oceanbase', 'polardbx'.If the 'builtinHandler' field is specified, it instructs Lorry to utilize its internal built-in action handlerto execute the specified lifecycle actions.The 'builtinHandler' field is of type 'BuiltinActionHandlerType',which represents the name of the built-in handler.The 'builtinHandler' specified within the same 'ComponentLifecycleActions' should be consistent across allactions.This means that if you specify a built-in handler for one action, you should use the same handlerfor all other actions throughout the entire 'ComponentLifecycleActions' collection.If you need to define lifecycle actions for database engines not covered by the existing built-in support,or when the pre-existing built-in handlers do not meet your specific needs,you can use the 'customHandler' field to define your own action implementation.Deprecation Notice:- In the future, the 'builtinHandler' field will be deprecated in favor of using the 'customHandler' field for configuring all lifecycle actions.- Instead of using a name to indicate the built-in action implementations in Lorry, the recommended approach will be to explicitly invoke the desired action implementation through a gRPC interface exposed by the sidecar agent.- Developers will have the flexibility to either use the built-in action implementations provided by Lorry or develop their own sidecar agent to implement custom actions and expose them via gRPC interfaces.- This change will allow for greater customization and extensibility of lifecycle actions, as developers can create their own 'builtin' implementations tailored to their specific requirements. -- `custom_handler` (Attributes) Specifies a user-defined hook or procedure that is called to perform the specific lifecycle action.It offers a flexible and expandable approach for customizing the behavior of a Component by leveragingtailored actions.An Action can be implemented as either an ExecAction or an HTTPAction, with future versions planningto support GRPCAction,thereby accommodating unique logic for different database systems within the Action's framework.In future iterations, all built-in handlers are expected to transition to GRPCAction.This change means that Lorry or other sidecar agents will expose the implementation of actionsthrough a GRPC interface for external invocation.Then the controller will interact with these actions via GRPCAction calls. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--data_dump--custom_handler)) - - -### Nested Schema for `spec.lifecycle_actions.data_dump.custom_handler` - -Optional: - -- `exec` (Attributes) Defines the command to run.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--data_dump--custom_handler--exec)) +- `exec` (Attributes) Defines the command to run.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--data_dump--exec)) - `pre_condition` (String) Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated. -- `retry_policy` (Attributes) Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--data_dump--custom_handler--retry_policy)) +- `retry_policy` (Attributes) Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--data_dump--retry_policy)) - `timeout_seconds` (Number) Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated. - -### Nested Schema for `spec.lifecycle_actions.data_dump.custom_handler.exec` + +### Nested Schema for `spec.lifecycle_actions.data_dump.exec` Optional: - `args` (List of String) Args represents the arguments that are passed to the 'command' for execution. - `command` (List of String) Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure. - `container` (String) Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active. -- `env` (Attributes List) Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--data_dump--custom_handler--exec--env)) +- `env` (Attributes List) Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--data_dump--exec--env)) - `image` (String) Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated. - `matching_key` (String) Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active. - `target_pod_selector` (String) Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active. - -### Nested Schema for `spec.lifecycle_actions.data_dump.custom_handler.exec.env` + +### Nested Schema for `spec.lifecycle_actions.data_dump.exec.env` Required: @@ -3609,20 +3592,20 @@ Required: Optional: - `value` (String) Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''. -- `value_from` (Attributes) Source for the environment variable's value. Cannot be used if value is not empty. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--data_dump--custom_handler--exec--env--value_from)) +- `value_from` (Attributes) Source for the environment variable's value. Cannot be used if value is not empty. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--data_dump--exec--env--value_from)) - -### Nested Schema for `spec.lifecycle_actions.data_dump.custom_handler.exec.env.value_from` + +### Nested Schema for `spec.lifecycle_actions.data_dump.exec.env.value_from` Optional: -- `config_map_key_ref` (Attributes) Selects a key of a ConfigMap. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--data_dump--custom_handler--exec--env--value_from--config_map_key_ref)) -- `field_ref` (Attributes) Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--data_dump--custom_handler--exec--env--value_from--field_ref)) -- `resource_field_ref` (Attributes) Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--data_dump--custom_handler--exec--env--value_from--resource_field_ref)) -- `secret_key_ref` (Attributes) Selects a key of a secret in the pod's namespace (see [below for nested schema](#nestedatt--spec--lifecycle_actions--data_dump--custom_handler--exec--env--value_from--secret_key_ref)) +- `config_map_key_ref` (Attributes) Selects a key of a ConfigMap. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--data_dump--exec--env--value_from--config_map_key_ref)) +- `field_ref` (Attributes) Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--data_dump--exec--env--value_from--field_ref)) +- `resource_field_ref` (Attributes) Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--data_dump--exec--env--value_from--resource_field_ref)) +- `secret_key_ref` (Attributes) Selects a key of a secret in the pod's namespace (see [below for nested schema](#nestedatt--spec--lifecycle_actions--data_dump--exec--env--value_from--secret_key_ref)) - -### Nested Schema for `spec.lifecycle_actions.data_dump.custom_handler.exec.env.value_from.config_map_key_ref` + +### Nested Schema for `spec.lifecycle_actions.data_dump.exec.env.value_from.config_map_key_ref` Required: @@ -3634,8 +3617,8 @@ Optional: - `optional` (Boolean) Specify whether the ConfigMap or its key must be defined - -### Nested Schema for `spec.lifecycle_actions.data_dump.custom_handler.exec.env.value_from.field_ref` + +### Nested Schema for `spec.lifecycle_actions.data_dump.exec.env.value_from.field_ref` Required: @@ -3646,8 +3629,8 @@ Optional: - `api_version` (String) Version of the schema the FieldPath is written in terms of, defaults to 'v1'. - -### Nested Schema for `spec.lifecycle_actions.data_dump.custom_handler.exec.env.value_from.resource_field_ref` + +### Nested Schema for `spec.lifecycle_actions.data_dump.exec.env.value_from.resource_field_ref` Required: @@ -3659,8 +3642,8 @@ Optional: - `divisor` (String) Specifies the output format of the exposed resources, defaults to '1' - -### Nested Schema for `spec.lifecycle_actions.data_dump.custom_handler.exec.env.value_from.secret_key_ref` + +### Nested Schema for `spec.lifecycle_actions.data_dump.exec.env.value_from.secret_key_ref` Required: @@ -3675,8 +3658,8 @@ Optional: - -### Nested Schema for `spec.lifecycle_actions.data_dump.custom_handler.retry_policy` + +### Nested Schema for `spec.lifecycle_actions.data_dump.retry_policy` Optional: @@ -3685,40 +3668,31 @@ Optional: - ### Nested Schema for `spec.lifecycle_actions.data_load` Optional: -- `builtin_handler` (String) Specifies the name of the predefined action handler to be invoked for lifecycle actions.Lorry, as a sidecar agent co-located with the database container in the same Pod,includes a suite of built-in action implementations that are tailored to different database engines.These are known as 'builtin' handlers, includes: 'mysql', 'redis', 'mongodb', 'etcd','postgresql', 'official-postgresql', 'apecloud-postgresql', 'wesql', 'oceanbase', 'polardbx'.If the 'builtinHandler' field is specified, it instructs Lorry to utilize its internal built-in action handlerto execute the specified lifecycle actions.The 'builtinHandler' field is of type 'BuiltinActionHandlerType',which represents the name of the built-in handler.The 'builtinHandler' specified within the same 'ComponentLifecycleActions' should be consistent across allactions.This means that if you specify a built-in handler for one action, you should use the same handlerfor all other actions throughout the entire 'ComponentLifecycleActions' collection.If you need to define lifecycle actions for database engines not covered by the existing built-in support,or when the pre-existing built-in handlers do not meet your specific needs,you can use the 'customHandler' field to define your own action implementation.Deprecation Notice:- In the future, the 'builtinHandler' field will be deprecated in favor of using the 'customHandler' field for configuring all lifecycle actions.- Instead of using a name to indicate the built-in action implementations in Lorry, the recommended approach will be to explicitly invoke the desired action implementation through a gRPC interface exposed by the sidecar agent.- Developers will have the flexibility to either use the built-in action implementations provided by Lorry or develop their own sidecar agent to implement custom actions and expose them via gRPC interfaces.- This change will allow for greater customization and extensibility of lifecycle actions, as developers can create their own 'builtin' implementations tailored to their specific requirements. -- `custom_handler` (Attributes) Specifies a user-defined hook or procedure that is called to perform the specific lifecycle action.It offers a flexible and expandable approach for customizing the behavior of a Component by leveragingtailored actions.An Action can be implemented as either an ExecAction or an HTTPAction, with future versions planningto support GRPCAction,thereby accommodating unique logic for different database systems within the Action's framework.In future iterations, all built-in handlers are expected to transition to GRPCAction.This change means that Lorry or other sidecar agents will expose the implementation of actionsthrough a GRPC interface for external invocation.Then the controller will interact with these actions via GRPCAction calls. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--data_load--custom_handler)) - - -### Nested Schema for `spec.lifecycle_actions.data_load.custom_handler` - -Optional: - -- `exec` (Attributes) Defines the command to run.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--data_load--custom_handler--exec)) +- `exec` (Attributes) Defines the command to run.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--data_load--exec)) - `pre_condition` (String) Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated. -- `retry_policy` (Attributes) Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--data_load--custom_handler--retry_policy)) +- `retry_policy` (Attributes) Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--data_load--retry_policy)) - `timeout_seconds` (Number) Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated. - -### Nested Schema for `spec.lifecycle_actions.data_load.custom_handler.exec` + +### Nested Schema for `spec.lifecycle_actions.data_load.exec` Optional: - `args` (List of String) Args represents the arguments that are passed to the 'command' for execution. - `command` (List of String) Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure. - `container` (String) Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active. -- `env` (Attributes List) Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--data_load--custom_handler--exec--env)) +- `env` (Attributes List) Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--data_load--exec--env)) - `image` (String) Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated. - `matching_key` (String) Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active. - `target_pod_selector` (String) Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active. - -### Nested Schema for `spec.lifecycle_actions.data_load.custom_handler.exec.env` + +### Nested Schema for `spec.lifecycle_actions.data_load.exec.env` Required: @@ -3727,20 +3701,20 @@ Required: Optional: - `value` (String) Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''. -- `value_from` (Attributes) Source for the environment variable's value. Cannot be used if value is not empty. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--data_load--custom_handler--exec--env--value_from)) +- `value_from` (Attributes) Source for the environment variable's value. Cannot be used if value is not empty. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--data_load--exec--env--value_from)) - -### Nested Schema for `spec.lifecycle_actions.data_load.custom_handler.exec.env.value_from` + +### Nested Schema for `spec.lifecycle_actions.data_load.exec.env.value_from` Optional: -- `config_map_key_ref` (Attributes) Selects a key of a ConfigMap. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--data_load--custom_handler--exec--env--value_from--config_map_key_ref)) -- `field_ref` (Attributes) Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--data_load--custom_handler--exec--env--value_from--field_ref)) -- `resource_field_ref` (Attributes) Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--data_load--custom_handler--exec--env--value_from--resource_field_ref)) -- `secret_key_ref` (Attributes) Selects a key of a secret in the pod's namespace (see [below for nested schema](#nestedatt--spec--lifecycle_actions--data_load--custom_handler--exec--env--value_from--secret_key_ref)) +- `config_map_key_ref` (Attributes) Selects a key of a ConfigMap. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--data_load--exec--env--value_from--config_map_key_ref)) +- `field_ref` (Attributes) Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--data_load--exec--env--value_from--field_ref)) +- `resource_field_ref` (Attributes) Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--data_load--exec--env--value_from--resource_field_ref)) +- `secret_key_ref` (Attributes) Selects a key of a secret in the pod's namespace (see [below for nested schema](#nestedatt--spec--lifecycle_actions--data_load--exec--env--value_from--secret_key_ref)) - -### Nested Schema for `spec.lifecycle_actions.data_load.custom_handler.exec.env.value_from.config_map_key_ref` + +### Nested Schema for `spec.lifecycle_actions.data_load.exec.env.value_from.config_map_key_ref` Required: @@ -3752,8 +3726,8 @@ Optional: - `optional` (Boolean) Specify whether the ConfigMap or its key must be defined - -### Nested Schema for `spec.lifecycle_actions.data_load.custom_handler.exec.env.value_from.field_ref` + +### Nested Schema for `spec.lifecycle_actions.data_load.exec.env.value_from.field_ref` Required: @@ -3764,8 +3738,8 @@ Optional: - `api_version` (String) Version of the schema the FieldPath is written in terms of, defaults to 'v1'. - -### Nested Schema for `spec.lifecycle_actions.data_load.custom_handler.exec.env.value_from.resource_field_ref` + +### Nested Schema for `spec.lifecycle_actions.data_load.exec.env.value_from.resource_field_ref` Required: @@ -3777,8 +3751,8 @@ Optional: - `divisor` (String) Specifies the output format of the exposed resources, defaults to '1' - -### Nested Schema for `spec.lifecycle_actions.data_load.custom_handler.exec.env.value_from.secret_key_ref` + +### Nested Schema for `spec.lifecycle_actions.data_load.exec.env.value_from.secret_key_ref` Required: @@ -3793,8 +3767,8 @@ Optional: - -### Nested Schema for `spec.lifecycle_actions.data_load.custom_handler.retry_policy` + +### Nested Schema for `spec.lifecycle_actions.data_load.retry_policy` Optional: @@ -3803,40 +3777,31 @@ Optional: - ### Nested Schema for `spec.lifecycle_actions.member_join` Optional: -- `builtin_handler` (String) Specifies the name of the predefined action handler to be invoked for lifecycle actions.Lorry, as a sidecar agent co-located with the database container in the same Pod,includes a suite of built-in action implementations that are tailored to different database engines.These are known as 'builtin' handlers, includes: 'mysql', 'redis', 'mongodb', 'etcd','postgresql', 'official-postgresql', 'apecloud-postgresql', 'wesql', 'oceanbase', 'polardbx'.If the 'builtinHandler' field is specified, it instructs Lorry to utilize its internal built-in action handlerto execute the specified lifecycle actions.The 'builtinHandler' field is of type 'BuiltinActionHandlerType',which represents the name of the built-in handler.The 'builtinHandler' specified within the same 'ComponentLifecycleActions' should be consistent across allactions.This means that if you specify a built-in handler for one action, you should use the same handlerfor all other actions throughout the entire 'ComponentLifecycleActions' collection.If you need to define lifecycle actions for database engines not covered by the existing built-in support,or when the pre-existing built-in handlers do not meet your specific needs,you can use the 'customHandler' field to define your own action implementation.Deprecation Notice:- In the future, the 'builtinHandler' field will be deprecated in favor of using the 'customHandler' field for configuring all lifecycle actions.- Instead of using a name to indicate the built-in action implementations in Lorry, the recommended approach will be to explicitly invoke the desired action implementation through a gRPC interface exposed by the sidecar agent.- Developers will have the flexibility to either use the built-in action implementations provided by Lorry or develop their own sidecar agent to implement custom actions and expose them via gRPC interfaces.- This change will allow for greater customization and extensibility of lifecycle actions, as developers can create their own 'builtin' implementations tailored to their specific requirements. -- `custom_handler` (Attributes) Specifies a user-defined hook or procedure that is called to perform the specific lifecycle action.It offers a flexible and expandable approach for customizing the behavior of a Component by leveragingtailored actions.An Action can be implemented as either an ExecAction or an HTTPAction, with future versions planningto support GRPCAction,thereby accommodating unique logic for different database systems within the Action's framework.In future iterations, all built-in handlers are expected to transition to GRPCAction.This change means that Lorry or other sidecar agents will expose the implementation of actionsthrough a GRPC interface for external invocation.Then the controller will interact with these actions via GRPCAction calls. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_join--custom_handler)) - - -### Nested Schema for `spec.lifecycle_actions.member_join.custom_handler` - -Optional: - -- `exec` (Attributes) Defines the command to run.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_join--custom_handler--exec)) +- `exec` (Attributes) Defines the command to run.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_join--exec)) - `pre_condition` (String) Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated. -- `retry_policy` (Attributes) Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_join--custom_handler--retry_policy)) +- `retry_policy` (Attributes) Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_join--retry_policy)) - `timeout_seconds` (Number) Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated. - -### Nested Schema for `spec.lifecycle_actions.member_join.custom_handler.exec` + +### Nested Schema for `spec.lifecycle_actions.member_join.exec` Optional: - `args` (List of String) Args represents the arguments that are passed to the 'command' for execution. - `command` (List of String) Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure. - `container` (String) Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active. -- `env` (Attributes List) Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_join--custom_handler--exec--env)) +- `env` (Attributes List) Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_join--exec--env)) - `image` (String) Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated. - `matching_key` (String) Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active. - `target_pod_selector` (String) Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active. - -### Nested Schema for `spec.lifecycle_actions.member_join.custom_handler.exec.env` + +### Nested Schema for `spec.lifecycle_actions.member_join.exec.env` Required: @@ -3845,20 +3810,20 @@ Required: Optional: - `value` (String) Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''. -- `value_from` (Attributes) Source for the environment variable's value. Cannot be used if value is not empty. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_join--custom_handler--exec--env--value_from)) +- `value_from` (Attributes) Source for the environment variable's value. Cannot be used if value is not empty. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_join--exec--env--value_from)) - -### Nested Schema for `spec.lifecycle_actions.member_join.custom_handler.exec.env.value_from` + +### Nested Schema for `spec.lifecycle_actions.member_join.exec.env.value_from` Optional: -- `config_map_key_ref` (Attributes) Selects a key of a ConfigMap. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_join--custom_handler--exec--env--value_from--config_map_key_ref)) -- `field_ref` (Attributes) Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_join--custom_handler--exec--env--value_from--field_ref)) -- `resource_field_ref` (Attributes) Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_join--custom_handler--exec--env--value_from--resource_field_ref)) -- `secret_key_ref` (Attributes) Selects a key of a secret in the pod's namespace (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_join--custom_handler--exec--env--value_from--secret_key_ref)) +- `config_map_key_ref` (Attributes) Selects a key of a ConfigMap. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_join--exec--env--value_from--config_map_key_ref)) +- `field_ref` (Attributes) Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_join--exec--env--value_from--field_ref)) +- `resource_field_ref` (Attributes) Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_join--exec--env--value_from--resource_field_ref)) +- `secret_key_ref` (Attributes) Selects a key of a secret in the pod's namespace (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_join--exec--env--value_from--secret_key_ref)) - -### Nested Schema for `spec.lifecycle_actions.member_join.custom_handler.exec.env.value_from.config_map_key_ref` + +### Nested Schema for `spec.lifecycle_actions.member_join.exec.env.value_from.config_map_key_ref` Required: @@ -3870,8 +3835,8 @@ Optional: - `optional` (Boolean) Specify whether the ConfigMap or its key must be defined - -### Nested Schema for `spec.lifecycle_actions.member_join.custom_handler.exec.env.value_from.field_ref` + +### Nested Schema for `spec.lifecycle_actions.member_join.exec.env.value_from.field_ref` Required: @@ -3882,8 +3847,8 @@ Optional: - `api_version` (String) Version of the schema the FieldPath is written in terms of, defaults to 'v1'. - -### Nested Schema for `spec.lifecycle_actions.member_join.custom_handler.exec.env.value_from.resource_field_ref` + +### Nested Schema for `spec.lifecycle_actions.member_join.exec.env.value_from.resource_field_ref` Required: @@ -3895,8 +3860,8 @@ Optional: - `divisor` (String) Specifies the output format of the exposed resources, defaults to '1' - -### Nested Schema for `spec.lifecycle_actions.member_join.custom_handler.exec.env.value_from.secret_key_ref` + +### Nested Schema for `spec.lifecycle_actions.member_join.exec.env.value_from.secret_key_ref` Required: @@ -3911,8 +3876,8 @@ Optional: - -### Nested Schema for `spec.lifecycle_actions.member_join.custom_handler.retry_policy` + +### Nested Schema for `spec.lifecycle_actions.member_join.retry_policy` Optional: @@ -3921,40 +3886,31 @@ Optional: - ### Nested Schema for `spec.lifecycle_actions.member_leave` Optional: -- `builtin_handler` (String) Specifies the name of the predefined action handler to be invoked for lifecycle actions.Lorry, as a sidecar agent co-located with the database container in the same Pod,includes a suite of built-in action implementations that are tailored to different database engines.These are known as 'builtin' handlers, includes: 'mysql', 'redis', 'mongodb', 'etcd','postgresql', 'official-postgresql', 'apecloud-postgresql', 'wesql', 'oceanbase', 'polardbx'.If the 'builtinHandler' field is specified, it instructs Lorry to utilize its internal built-in action handlerto execute the specified lifecycle actions.The 'builtinHandler' field is of type 'BuiltinActionHandlerType',which represents the name of the built-in handler.The 'builtinHandler' specified within the same 'ComponentLifecycleActions' should be consistent across allactions.This means that if you specify a built-in handler for one action, you should use the same handlerfor all other actions throughout the entire 'ComponentLifecycleActions' collection.If you need to define lifecycle actions for database engines not covered by the existing built-in support,or when the pre-existing built-in handlers do not meet your specific needs,you can use the 'customHandler' field to define your own action implementation.Deprecation Notice:- In the future, the 'builtinHandler' field will be deprecated in favor of using the 'customHandler' field for configuring all lifecycle actions.- Instead of using a name to indicate the built-in action implementations in Lorry, the recommended approach will be to explicitly invoke the desired action implementation through a gRPC interface exposed by the sidecar agent.- Developers will have the flexibility to either use the built-in action implementations provided by Lorry or develop their own sidecar agent to implement custom actions and expose them via gRPC interfaces.- This change will allow for greater customization and extensibility of lifecycle actions, as developers can create their own 'builtin' implementations tailored to their specific requirements. -- `custom_handler` (Attributes) Specifies a user-defined hook or procedure that is called to perform the specific lifecycle action.It offers a flexible and expandable approach for customizing the behavior of a Component by leveragingtailored actions.An Action can be implemented as either an ExecAction or an HTTPAction, with future versions planningto support GRPCAction,thereby accommodating unique logic for different database systems within the Action's framework.In future iterations, all built-in handlers are expected to transition to GRPCAction.This change means that Lorry or other sidecar agents will expose the implementation of actionsthrough a GRPC interface for external invocation.Then the controller will interact with these actions via GRPCAction calls. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_leave--custom_handler)) - - -### Nested Schema for `spec.lifecycle_actions.member_leave.custom_handler` - -Optional: - -- `exec` (Attributes) Defines the command to run.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_leave--custom_handler--exec)) +- `exec` (Attributes) Defines the command to run.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_leave--exec)) - `pre_condition` (String) Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated. -- `retry_policy` (Attributes) Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_leave--custom_handler--retry_policy)) +- `retry_policy` (Attributes) Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_leave--retry_policy)) - `timeout_seconds` (Number) Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated. - -### Nested Schema for `spec.lifecycle_actions.member_leave.custom_handler.exec` + +### Nested Schema for `spec.lifecycle_actions.member_leave.exec` Optional: - `args` (List of String) Args represents the arguments that are passed to the 'command' for execution. - `command` (List of String) Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure. - `container` (String) Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active. -- `env` (Attributes List) Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_leave--custom_handler--exec--env)) +- `env` (Attributes List) Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_leave--exec--env)) - `image` (String) Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated. - `matching_key` (String) Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active. - `target_pod_selector` (String) Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active. - -### Nested Schema for `spec.lifecycle_actions.member_leave.custom_handler.exec.env` + +### Nested Schema for `spec.lifecycle_actions.member_leave.exec.env` Required: @@ -3963,20 +3919,20 @@ Required: Optional: - `value` (String) Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''. -- `value_from` (Attributes) Source for the environment variable's value. Cannot be used if value is not empty. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_leave--custom_handler--exec--env--value_from)) +- `value_from` (Attributes) Source for the environment variable's value. Cannot be used if value is not empty. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_leave--exec--env--value_from)) - -### Nested Schema for `spec.lifecycle_actions.member_leave.custom_handler.exec.env.value_from` + +### Nested Schema for `spec.lifecycle_actions.member_leave.exec.env.value_from` Optional: -- `config_map_key_ref` (Attributes) Selects a key of a ConfigMap. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_leave--custom_handler--exec--env--value_from--config_map_key_ref)) -- `field_ref` (Attributes) Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_leave--custom_handler--exec--env--value_from--field_ref)) -- `resource_field_ref` (Attributes) Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_leave--custom_handler--exec--env--value_from--resource_field_ref)) -- `secret_key_ref` (Attributes) Selects a key of a secret in the pod's namespace (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_leave--custom_handler--exec--env--value_from--secret_key_ref)) +- `config_map_key_ref` (Attributes) Selects a key of a ConfigMap. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_leave--exec--env--value_from--config_map_key_ref)) +- `field_ref` (Attributes) Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_leave--exec--env--value_from--field_ref)) +- `resource_field_ref` (Attributes) Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_leave--exec--env--value_from--resource_field_ref)) +- `secret_key_ref` (Attributes) Selects a key of a secret in the pod's namespace (see [below for nested schema](#nestedatt--spec--lifecycle_actions--member_leave--exec--env--value_from--secret_key_ref)) - -### Nested Schema for `spec.lifecycle_actions.member_leave.custom_handler.exec.env.value_from.config_map_key_ref` + +### Nested Schema for `spec.lifecycle_actions.member_leave.exec.env.value_from.config_map_key_ref` Required: @@ -3988,8 +3944,8 @@ Optional: - `optional` (Boolean) Specify whether the ConfigMap or its key must be defined - -### Nested Schema for `spec.lifecycle_actions.member_leave.custom_handler.exec.env.value_from.field_ref` + +### Nested Schema for `spec.lifecycle_actions.member_leave.exec.env.value_from.field_ref` Required: @@ -4000,8 +3956,8 @@ Optional: - `api_version` (String) Version of the schema the FieldPath is written in terms of, defaults to 'v1'. - -### Nested Schema for `spec.lifecycle_actions.member_leave.custom_handler.exec.env.value_from.resource_field_ref` + +### Nested Schema for `spec.lifecycle_actions.member_leave.exec.env.value_from.resource_field_ref` Required: @@ -4013,8 +3969,8 @@ Optional: - `divisor` (String) Specifies the output format of the exposed resources, defaults to '1' - -### Nested Schema for `spec.lifecycle_actions.member_leave.custom_handler.exec.env.value_from.secret_key_ref` + +### Nested Schema for `spec.lifecycle_actions.member_leave.exec.env.value_from.secret_key_ref` Required: @@ -4029,8 +3985,8 @@ Optional: - -### Nested Schema for `spec.lifecycle_actions.member_leave.custom_handler.retry_policy` + +### Nested Schema for `spec.lifecycle_actions.member_leave.retry_policy` Optional: @@ -4039,40 +3995,31 @@ Optional: - ### Nested Schema for `spec.lifecycle_actions.post_provision` Optional: -- `builtin_handler` (String) Specifies the name of the predefined action handler to be invoked for lifecycle actions.Lorry, as a sidecar agent co-located with the database container in the same Pod,includes a suite of built-in action implementations that are tailored to different database engines.These are known as 'builtin' handlers, includes: 'mysql', 'redis', 'mongodb', 'etcd','postgresql', 'official-postgresql', 'apecloud-postgresql', 'wesql', 'oceanbase', 'polardbx'.If the 'builtinHandler' field is specified, it instructs Lorry to utilize its internal built-in action handlerto execute the specified lifecycle actions.The 'builtinHandler' field is of type 'BuiltinActionHandlerType',which represents the name of the built-in handler.The 'builtinHandler' specified within the same 'ComponentLifecycleActions' should be consistent across allactions.This means that if you specify a built-in handler for one action, you should use the same handlerfor all other actions throughout the entire 'ComponentLifecycleActions' collection.If you need to define lifecycle actions for database engines not covered by the existing built-in support,or when the pre-existing built-in handlers do not meet your specific needs,you can use the 'customHandler' field to define your own action implementation.Deprecation Notice:- In the future, the 'builtinHandler' field will be deprecated in favor of using the 'customHandler' field for configuring all lifecycle actions.- Instead of using a name to indicate the built-in action implementations in Lorry, the recommended approach will be to explicitly invoke the desired action implementation through a gRPC interface exposed by the sidecar agent.- Developers will have the flexibility to either use the built-in action implementations provided by Lorry or develop their own sidecar agent to implement custom actions and expose them via gRPC interfaces.- This change will allow for greater customization and extensibility of lifecycle actions, as developers can create their own 'builtin' implementations tailored to their specific requirements. -- `custom_handler` (Attributes) Specifies a user-defined hook or procedure that is called to perform the specific lifecycle action.It offers a flexible and expandable approach for customizing the behavior of a Component by leveragingtailored actions.An Action can be implemented as either an ExecAction or an HTTPAction, with future versions planningto support GRPCAction,thereby accommodating unique logic for different database systems within the Action's framework.In future iterations, all built-in handlers are expected to transition to GRPCAction.This change means that Lorry or other sidecar agents will expose the implementation of actionsthrough a GRPC interface for external invocation.Then the controller will interact with these actions via GRPCAction calls. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--post_provision--custom_handler)) - - -### Nested Schema for `spec.lifecycle_actions.post_provision.custom_handler` - -Optional: - -- `exec` (Attributes) Defines the command to run.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--post_provision--custom_handler--exec)) +- `exec` (Attributes) Defines the command to run.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--post_provision--exec)) - `pre_condition` (String) Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated. -- `retry_policy` (Attributes) Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--post_provision--custom_handler--retry_policy)) +- `retry_policy` (Attributes) Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--post_provision--retry_policy)) - `timeout_seconds` (Number) Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated. - -### Nested Schema for `spec.lifecycle_actions.post_provision.custom_handler.exec` + +### Nested Schema for `spec.lifecycle_actions.post_provision.exec` Optional: - `args` (List of String) Args represents the arguments that are passed to the 'command' for execution. - `command` (List of String) Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure. - `container` (String) Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active. -- `env` (Attributes List) Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--post_provision--custom_handler--exec--env)) +- `env` (Attributes List) Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--post_provision--exec--env)) - `image` (String) Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated. - `matching_key` (String) Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active. - `target_pod_selector` (String) Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active. - -### Nested Schema for `spec.lifecycle_actions.post_provision.custom_handler.exec.env` + +### Nested Schema for `spec.lifecycle_actions.post_provision.exec.env` Required: @@ -4081,20 +4028,20 @@ Required: Optional: - `value` (String) Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''. -- `value_from` (Attributes) Source for the environment variable's value. Cannot be used if value is not empty. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--post_provision--custom_handler--exec--env--value_from)) +- `value_from` (Attributes) Source for the environment variable's value. Cannot be used if value is not empty. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--post_provision--exec--env--value_from)) - -### Nested Schema for `spec.lifecycle_actions.post_provision.custom_handler.exec.env.value_from` + +### Nested Schema for `spec.lifecycle_actions.post_provision.exec.env.value_from` Optional: -- `config_map_key_ref` (Attributes) Selects a key of a ConfigMap. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--post_provision--custom_handler--exec--env--value_from--config_map_key_ref)) -- `field_ref` (Attributes) Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--post_provision--custom_handler--exec--env--value_from--field_ref)) -- `resource_field_ref` (Attributes) Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--post_provision--custom_handler--exec--env--value_from--resource_field_ref)) -- `secret_key_ref` (Attributes) Selects a key of a secret in the pod's namespace (see [below for nested schema](#nestedatt--spec--lifecycle_actions--post_provision--custom_handler--exec--env--value_from--secret_key_ref)) +- `config_map_key_ref` (Attributes) Selects a key of a ConfigMap. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--post_provision--exec--env--value_from--config_map_key_ref)) +- `field_ref` (Attributes) Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--post_provision--exec--env--value_from--field_ref)) +- `resource_field_ref` (Attributes) Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--post_provision--exec--env--value_from--resource_field_ref)) +- `secret_key_ref` (Attributes) Selects a key of a secret in the pod's namespace (see [below for nested schema](#nestedatt--spec--lifecycle_actions--post_provision--exec--env--value_from--secret_key_ref)) - -### Nested Schema for `spec.lifecycle_actions.post_provision.custom_handler.exec.env.value_from.config_map_key_ref` + +### Nested Schema for `spec.lifecycle_actions.post_provision.exec.env.value_from.config_map_key_ref` Required: @@ -4106,8 +4053,8 @@ Optional: - `optional` (Boolean) Specify whether the ConfigMap or its key must be defined - -### Nested Schema for `spec.lifecycle_actions.post_provision.custom_handler.exec.env.value_from.field_ref` + +### Nested Schema for `spec.lifecycle_actions.post_provision.exec.env.value_from.field_ref` Required: @@ -4118,8 +4065,8 @@ Optional: - `api_version` (String) Version of the schema the FieldPath is written in terms of, defaults to 'v1'. - -### Nested Schema for `spec.lifecycle_actions.post_provision.custom_handler.exec.env.value_from.resource_field_ref` + +### Nested Schema for `spec.lifecycle_actions.post_provision.exec.env.value_from.resource_field_ref` Required: @@ -4131,8 +4078,8 @@ Optional: - `divisor` (String) Specifies the output format of the exposed resources, defaults to '1' - -### Nested Schema for `spec.lifecycle_actions.post_provision.custom_handler.exec.env.value_from.secret_key_ref` + +### Nested Schema for `spec.lifecycle_actions.post_provision.exec.env.value_from.secret_key_ref` Required: @@ -4147,8 +4094,8 @@ Optional: - -### Nested Schema for `spec.lifecycle_actions.post_provision.custom_handler.retry_policy` + +### Nested Schema for `spec.lifecycle_actions.post_provision.retry_policy` Optional: @@ -4157,40 +4104,31 @@ Optional: - ### Nested Schema for `spec.lifecycle_actions.pre_terminate` Optional: -- `builtin_handler` (String) Specifies the name of the predefined action handler to be invoked for lifecycle actions.Lorry, as a sidecar agent co-located with the database container in the same Pod,includes a suite of built-in action implementations that are tailored to different database engines.These are known as 'builtin' handlers, includes: 'mysql', 'redis', 'mongodb', 'etcd','postgresql', 'official-postgresql', 'apecloud-postgresql', 'wesql', 'oceanbase', 'polardbx'.If the 'builtinHandler' field is specified, it instructs Lorry to utilize its internal built-in action handlerto execute the specified lifecycle actions.The 'builtinHandler' field is of type 'BuiltinActionHandlerType',which represents the name of the built-in handler.The 'builtinHandler' specified within the same 'ComponentLifecycleActions' should be consistent across allactions.This means that if you specify a built-in handler for one action, you should use the same handlerfor all other actions throughout the entire 'ComponentLifecycleActions' collection.If you need to define lifecycle actions for database engines not covered by the existing built-in support,or when the pre-existing built-in handlers do not meet your specific needs,you can use the 'customHandler' field to define your own action implementation.Deprecation Notice:- In the future, the 'builtinHandler' field will be deprecated in favor of using the 'customHandler' field for configuring all lifecycle actions.- Instead of using a name to indicate the built-in action implementations in Lorry, the recommended approach will be to explicitly invoke the desired action implementation through a gRPC interface exposed by the sidecar agent.- Developers will have the flexibility to either use the built-in action implementations provided by Lorry or develop their own sidecar agent to implement custom actions and expose them via gRPC interfaces.- This change will allow for greater customization and extensibility of lifecycle actions, as developers can create their own 'builtin' implementations tailored to their specific requirements. -- `custom_handler` (Attributes) Specifies a user-defined hook or procedure that is called to perform the specific lifecycle action.It offers a flexible and expandable approach for customizing the behavior of a Component by leveragingtailored actions.An Action can be implemented as either an ExecAction or an HTTPAction, with future versions planningto support GRPCAction,thereby accommodating unique logic for different database systems within the Action's framework.In future iterations, all built-in handlers are expected to transition to GRPCAction.This change means that Lorry or other sidecar agents will expose the implementation of actionsthrough a GRPC interface for external invocation.Then the controller will interact with these actions via GRPCAction calls. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--pre_terminate--custom_handler)) - - -### Nested Schema for `spec.lifecycle_actions.pre_terminate.custom_handler` - -Optional: - -- `exec` (Attributes) Defines the command to run.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--pre_terminate--custom_handler--exec)) +- `exec` (Attributes) Defines the command to run.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--pre_terminate--exec)) - `pre_condition` (String) Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated. -- `retry_policy` (Attributes) Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--pre_terminate--custom_handler--retry_policy)) +- `retry_policy` (Attributes) Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--pre_terminate--retry_policy)) - `timeout_seconds` (Number) Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated. - -### Nested Schema for `spec.lifecycle_actions.pre_terminate.custom_handler.exec` + +### Nested Schema for `spec.lifecycle_actions.pre_terminate.exec` Optional: - `args` (List of String) Args represents the arguments that are passed to the 'command' for execution. - `command` (List of String) Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure. - `container` (String) Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active. -- `env` (Attributes List) Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--pre_terminate--custom_handler--exec--env)) +- `env` (Attributes List) Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--pre_terminate--exec--env)) - `image` (String) Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated. - `matching_key` (String) Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active. - `target_pod_selector` (String) Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active. - -### Nested Schema for `spec.lifecycle_actions.pre_terminate.custom_handler.exec.env` + +### Nested Schema for `spec.lifecycle_actions.pre_terminate.exec.env` Required: @@ -4199,20 +4137,20 @@ Required: Optional: - `value` (String) Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''. -- `value_from` (Attributes) Source for the environment variable's value. Cannot be used if value is not empty. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--pre_terminate--custom_handler--exec--env--value_from)) +- `value_from` (Attributes) Source for the environment variable's value. Cannot be used if value is not empty. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--pre_terminate--exec--env--value_from)) - -### Nested Schema for `spec.lifecycle_actions.pre_terminate.custom_handler.exec.env.value_from` + +### Nested Schema for `spec.lifecycle_actions.pre_terminate.exec.env.value_from` Optional: -- `config_map_key_ref` (Attributes) Selects a key of a ConfigMap. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--pre_terminate--custom_handler--exec--env--value_from--config_map_key_ref)) -- `field_ref` (Attributes) Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--pre_terminate--custom_handler--exec--env--value_from--field_ref)) -- `resource_field_ref` (Attributes) Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--pre_terminate--custom_handler--exec--env--value_from--resource_field_ref)) -- `secret_key_ref` (Attributes) Selects a key of a secret in the pod's namespace (see [below for nested schema](#nestedatt--spec--lifecycle_actions--pre_terminate--custom_handler--exec--env--value_from--secret_key_ref)) +- `config_map_key_ref` (Attributes) Selects a key of a ConfigMap. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--pre_terminate--exec--env--value_from--config_map_key_ref)) +- `field_ref` (Attributes) Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--pre_terminate--exec--env--value_from--field_ref)) +- `resource_field_ref` (Attributes) Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--pre_terminate--exec--env--value_from--resource_field_ref)) +- `secret_key_ref` (Attributes) Selects a key of a secret in the pod's namespace (see [below for nested schema](#nestedatt--spec--lifecycle_actions--pre_terminate--exec--env--value_from--secret_key_ref)) - -### Nested Schema for `spec.lifecycle_actions.pre_terminate.custom_handler.exec.env.value_from.config_map_key_ref` + +### Nested Schema for `spec.lifecycle_actions.pre_terminate.exec.env.value_from.config_map_key_ref` Required: @@ -4224,8 +4162,8 @@ Optional: - `optional` (Boolean) Specify whether the ConfigMap or its key must be defined - -### Nested Schema for `spec.lifecycle_actions.pre_terminate.custom_handler.exec.env.value_from.field_ref` + +### Nested Schema for `spec.lifecycle_actions.pre_terminate.exec.env.value_from.field_ref` Required: @@ -4236,8 +4174,8 @@ Optional: - `api_version` (String) Version of the schema the FieldPath is written in terms of, defaults to 'v1'. - -### Nested Schema for `spec.lifecycle_actions.pre_terminate.custom_handler.exec.env.value_from.resource_field_ref` + +### Nested Schema for `spec.lifecycle_actions.pre_terminate.exec.env.value_from.resource_field_ref` Required: @@ -4249,8 +4187,8 @@ Optional: - `divisor` (String) Specifies the output format of the exposed resources, defaults to '1' - -### Nested Schema for `spec.lifecycle_actions.pre_terminate.custom_handler.exec.env.value_from.secret_key_ref` + +### Nested Schema for `spec.lifecycle_actions.pre_terminate.exec.env.value_from.secret_key_ref` Required: @@ -4265,8 +4203,8 @@ Optional: - -### Nested Schema for `spec.lifecycle_actions.pre_terminate.custom_handler.retry_policy` + +### Nested Schema for `spec.lifecycle_actions.pre_terminate.retry_policy` Optional: @@ -4275,40 +4213,31 @@ Optional: - ### Nested Schema for `spec.lifecycle_actions.readonly` Optional: -- `builtin_handler` (String) Specifies the name of the predefined action handler to be invoked for lifecycle actions.Lorry, as a sidecar agent co-located with the database container in the same Pod,includes a suite of built-in action implementations that are tailored to different database engines.These are known as 'builtin' handlers, includes: 'mysql', 'redis', 'mongodb', 'etcd','postgresql', 'official-postgresql', 'apecloud-postgresql', 'wesql', 'oceanbase', 'polardbx'.If the 'builtinHandler' field is specified, it instructs Lorry to utilize its internal built-in action handlerto execute the specified lifecycle actions.The 'builtinHandler' field is of type 'BuiltinActionHandlerType',which represents the name of the built-in handler.The 'builtinHandler' specified within the same 'ComponentLifecycleActions' should be consistent across allactions.This means that if you specify a built-in handler for one action, you should use the same handlerfor all other actions throughout the entire 'ComponentLifecycleActions' collection.If you need to define lifecycle actions for database engines not covered by the existing built-in support,or when the pre-existing built-in handlers do not meet your specific needs,you can use the 'customHandler' field to define your own action implementation.Deprecation Notice:- In the future, the 'builtinHandler' field will be deprecated in favor of using the 'customHandler' field for configuring all lifecycle actions.- Instead of using a name to indicate the built-in action implementations in Lorry, the recommended approach will be to explicitly invoke the desired action implementation through a gRPC interface exposed by the sidecar agent.- Developers will have the flexibility to either use the built-in action implementations provided by Lorry or develop their own sidecar agent to implement custom actions and expose them via gRPC interfaces.- This change will allow for greater customization and extensibility of lifecycle actions, as developers can create their own 'builtin' implementations tailored to their specific requirements. -- `custom_handler` (Attributes) Specifies a user-defined hook or procedure that is called to perform the specific lifecycle action.It offers a flexible and expandable approach for customizing the behavior of a Component by leveragingtailored actions.An Action can be implemented as either an ExecAction or an HTTPAction, with future versions planningto support GRPCAction,thereby accommodating unique logic for different database systems within the Action's framework.In future iterations, all built-in handlers are expected to transition to GRPCAction.This change means that Lorry or other sidecar agents will expose the implementation of actionsthrough a GRPC interface for external invocation.Then the controller will interact with these actions via GRPCAction calls. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readonly--custom_handler)) - - -### Nested Schema for `spec.lifecycle_actions.readonly.custom_handler` - -Optional: - -- `exec` (Attributes) Defines the command to run.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readonly--custom_handler--exec)) +- `exec` (Attributes) Defines the command to run.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readonly--exec)) - `pre_condition` (String) Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated. -- `retry_policy` (Attributes) Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readonly--custom_handler--retry_policy)) +- `retry_policy` (Attributes) Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readonly--retry_policy)) - `timeout_seconds` (Number) Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated. - -### Nested Schema for `spec.lifecycle_actions.readonly.custom_handler.exec` + +### Nested Schema for `spec.lifecycle_actions.readonly.exec` Optional: - `args` (List of String) Args represents the arguments that are passed to the 'command' for execution. - `command` (List of String) Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure. - `container` (String) Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active. -- `env` (Attributes List) Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readonly--custom_handler--exec--env)) +- `env` (Attributes List) Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readonly--exec--env)) - `image` (String) Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated. - `matching_key` (String) Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active. - `target_pod_selector` (String) Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active. - -### Nested Schema for `spec.lifecycle_actions.readonly.custom_handler.exec.env` + +### Nested Schema for `spec.lifecycle_actions.readonly.exec.env` Required: @@ -4317,20 +4246,20 @@ Required: Optional: - `value` (String) Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''. -- `value_from` (Attributes) Source for the environment variable's value. Cannot be used if value is not empty. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readonly--custom_handler--exec--env--value_from)) +- `value_from` (Attributes) Source for the environment variable's value. Cannot be used if value is not empty. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readonly--exec--env--value_from)) - -### Nested Schema for `spec.lifecycle_actions.readonly.custom_handler.exec.env.value_from` + +### Nested Schema for `spec.lifecycle_actions.readonly.exec.env.value_from` Optional: -- `config_map_key_ref` (Attributes) Selects a key of a ConfigMap. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readonly--custom_handler--exec--env--value_from--config_map_key_ref)) -- `field_ref` (Attributes) Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readonly--custom_handler--exec--env--value_from--field_ref)) -- `resource_field_ref` (Attributes) Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readonly--custom_handler--exec--env--value_from--resource_field_ref)) -- `secret_key_ref` (Attributes) Selects a key of a secret in the pod's namespace (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readonly--custom_handler--exec--env--value_from--secret_key_ref)) +- `config_map_key_ref` (Attributes) Selects a key of a ConfigMap. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readonly--exec--env--value_from--config_map_key_ref)) +- `field_ref` (Attributes) Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readonly--exec--env--value_from--field_ref)) +- `resource_field_ref` (Attributes) Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readonly--exec--env--value_from--resource_field_ref)) +- `secret_key_ref` (Attributes) Selects a key of a secret in the pod's namespace (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readonly--exec--env--value_from--secret_key_ref)) - -### Nested Schema for `spec.lifecycle_actions.readonly.custom_handler.exec.env.value_from.config_map_key_ref` + +### Nested Schema for `spec.lifecycle_actions.readonly.exec.env.value_from.config_map_key_ref` Required: @@ -4342,8 +4271,8 @@ Optional: - `optional` (Boolean) Specify whether the ConfigMap or its key must be defined - -### Nested Schema for `spec.lifecycle_actions.readonly.custom_handler.exec.env.value_from.field_ref` + +### Nested Schema for `spec.lifecycle_actions.readonly.exec.env.value_from.field_ref` Required: @@ -4354,8 +4283,8 @@ Optional: - `api_version` (String) Version of the schema the FieldPath is written in terms of, defaults to 'v1'. - -### Nested Schema for `spec.lifecycle_actions.readonly.custom_handler.exec.env.value_from.resource_field_ref` + +### Nested Schema for `spec.lifecycle_actions.readonly.exec.env.value_from.resource_field_ref` Required: @@ -4367,8 +4296,8 @@ Optional: - `divisor` (String) Specifies the output format of the exposed resources, defaults to '1' - -### Nested Schema for `spec.lifecycle_actions.readonly.custom_handler.exec.env.value_from.secret_key_ref` + +### Nested Schema for `spec.lifecycle_actions.readonly.exec.env.value_from.secret_key_ref` Required: @@ -4383,8 +4312,8 @@ Optional: - -### Nested Schema for `spec.lifecycle_actions.readonly.custom_handler.retry_policy` + +### Nested Schema for `spec.lifecycle_actions.readonly.retry_policy` Optional: @@ -4393,40 +4322,31 @@ Optional: - ### Nested Schema for `spec.lifecycle_actions.readwrite` Optional: -- `builtin_handler` (String) Specifies the name of the predefined action handler to be invoked for lifecycle actions.Lorry, as a sidecar agent co-located with the database container in the same Pod,includes a suite of built-in action implementations that are tailored to different database engines.These are known as 'builtin' handlers, includes: 'mysql', 'redis', 'mongodb', 'etcd','postgresql', 'official-postgresql', 'apecloud-postgresql', 'wesql', 'oceanbase', 'polardbx'.If the 'builtinHandler' field is specified, it instructs Lorry to utilize its internal built-in action handlerto execute the specified lifecycle actions.The 'builtinHandler' field is of type 'BuiltinActionHandlerType',which represents the name of the built-in handler.The 'builtinHandler' specified within the same 'ComponentLifecycleActions' should be consistent across allactions.This means that if you specify a built-in handler for one action, you should use the same handlerfor all other actions throughout the entire 'ComponentLifecycleActions' collection.If you need to define lifecycle actions for database engines not covered by the existing built-in support,or when the pre-existing built-in handlers do not meet your specific needs,you can use the 'customHandler' field to define your own action implementation.Deprecation Notice:- In the future, the 'builtinHandler' field will be deprecated in favor of using the 'customHandler' field for configuring all lifecycle actions.- Instead of using a name to indicate the built-in action implementations in Lorry, the recommended approach will be to explicitly invoke the desired action implementation through a gRPC interface exposed by the sidecar agent.- Developers will have the flexibility to either use the built-in action implementations provided by Lorry or develop their own sidecar agent to implement custom actions and expose them via gRPC interfaces.- This change will allow for greater customization and extensibility of lifecycle actions, as developers can create their own 'builtin' implementations tailored to their specific requirements. -- `custom_handler` (Attributes) Specifies a user-defined hook or procedure that is called to perform the specific lifecycle action.It offers a flexible and expandable approach for customizing the behavior of a Component by leveragingtailored actions.An Action can be implemented as either an ExecAction or an HTTPAction, with future versions planningto support GRPCAction,thereby accommodating unique logic for different database systems within the Action's framework.In future iterations, all built-in handlers are expected to transition to GRPCAction.This change means that Lorry or other sidecar agents will expose the implementation of actionsthrough a GRPC interface for external invocation.Then the controller will interact with these actions via GRPCAction calls. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readwrite--custom_handler)) - - -### Nested Schema for `spec.lifecycle_actions.readwrite.custom_handler` - -Optional: - -- `exec` (Attributes) Defines the command to run.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readwrite--custom_handler--exec)) +- `exec` (Attributes) Defines the command to run.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readwrite--exec)) - `pre_condition` (String) Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated. -- `retry_policy` (Attributes) Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readwrite--custom_handler--retry_policy)) +- `retry_policy` (Attributes) Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readwrite--retry_policy)) - `timeout_seconds` (Number) Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated. - -### Nested Schema for `spec.lifecycle_actions.readwrite.custom_handler.exec` + +### Nested Schema for `spec.lifecycle_actions.readwrite.exec` Optional: - `args` (List of String) Args represents the arguments that are passed to the 'command' for execution. - `command` (List of String) Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure. - `container` (String) Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active. -- `env` (Attributes List) Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readwrite--custom_handler--exec--env)) +- `env` (Attributes List) Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readwrite--exec--env)) - `image` (String) Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated. - `matching_key` (String) Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active. - `target_pod_selector` (String) Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active. - -### Nested Schema for `spec.lifecycle_actions.readwrite.custom_handler.exec.env` + +### Nested Schema for `spec.lifecycle_actions.readwrite.exec.env` Required: @@ -4435,20 +4355,20 @@ Required: Optional: - `value` (String) Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''. -- `value_from` (Attributes) Source for the environment variable's value. Cannot be used if value is not empty. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readwrite--custom_handler--exec--env--value_from)) +- `value_from` (Attributes) Source for the environment variable's value. Cannot be used if value is not empty. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readwrite--exec--env--value_from)) - -### Nested Schema for `spec.lifecycle_actions.readwrite.custom_handler.exec.env.value_from` + +### Nested Schema for `spec.lifecycle_actions.readwrite.exec.env.value_from` Optional: -- `config_map_key_ref` (Attributes) Selects a key of a ConfigMap. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readwrite--custom_handler--exec--env--value_from--config_map_key_ref)) -- `field_ref` (Attributes) Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readwrite--custom_handler--exec--env--value_from--field_ref)) -- `resource_field_ref` (Attributes) Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readwrite--custom_handler--exec--env--value_from--resource_field_ref)) -- `secret_key_ref` (Attributes) Selects a key of a secret in the pod's namespace (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readwrite--custom_handler--exec--env--value_from--secret_key_ref)) +- `config_map_key_ref` (Attributes) Selects a key of a ConfigMap. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readwrite--exec--env--value_from--config_map_key_ref)) +- `field_ref` (Attributes) Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readwrite--exec--env--value_from--field_ref)) +- `resource_field_ref` (Attributes) Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readwrite--exec--env--value_from--resource_field_ref)) +- `secret_key_ref` (Attributes) Selects a key of a secret in the pod's namespace (see [below for nested schema](#nestedatt--spec--lifecycle_actions--readwrite--exec--env--value_from--secret_key_ref)) - -### Nested Schema for `spec.lifecycle_actions.readwrite.custom_handler.exec.env.value_from.config_map_key_ref` + +### Nested Schema for `spec.lifecycle_actions.readwrite.exec.env.value_from.config_map_key_ref` Required: @@ -4460,8 +4380,8 @@ Optional: - `optional` (Boolean) Specify whether the ConfigMap or its key must be defined - -### Nested Schema for `spec.lifecycle_actions.readwrite.custom_handler.exec.env.value_from.field_ref` + +### Nested Schema for `spec.lifecycle_actions.readwrite.exec.env.value_from.field_ref` Required: @@ -4472,8 +4392,8 @@ Optional: - `api_version` (String) Version of the schema the FieldPath is written in terms of, defaults to 'v1'. - -### Nested Schema for `spec.lifecycle_actions.readwrite.custom_handler.exec.env.value_from.resource_field_ref` + +### Nested Schema for `spec.lifecycle_actions.readwrite.exec.env.value_from.resource_field_ref` Required: @@ -4485,8 +4405,8 @@ Optional: - `divisor` (String) Specifies the output format of the exposed resources, defaults to '1' - -### Nested Schema for `spec.lifecycle_actions.readwrite.custom_handler.exec.env.value_from.secret_key_ref` + +### Nested Schema for `spec.lifecycle_actions.readwrite.exec.env.value_from.secret_key_ref` Required: @@ -4501,8 +4421,8 @@ Optional: - -### Nested Schema for `spec.lifecycle_actions.readwrite.custom_handler.retry_policy` + +### Nested Schema for `spec.lifecycle_actions.readwrite.retry_policy` Optional: @@ -4511,40 +4431,31 @@ Optional: - ### Nested Schema for `spec.lifecycle_actions.reconfigure` Optional: -- `builtin_handler` (String) Specifies the name of the predefined action handler to be invoked for lifecycle actions.Lorry, as a sidecar agent co-located with the database container in the same Pod,includes a suite of built-in action implementations that are tailored to different database engines.These are known as 'builtin' handlers, includes: 'mysql', 'redis', 'mongodb', 'etcd','postgresql', 'official-postgresql', 'apecloud-postgresql', 'wesql', 'oceanbase', 'polardbx'.If the 'builtinHandler' field is specified, it instructs Lorry to utilize its internal built-in action handlerto execute the specified lifecycle actions.The 'builtinHandler' field is of type 'BuiltinActionHandlerType',which represents the name of the built-in handler.The 'builtinHandler' specified within the same 'ComponentLifecycleActions' should be consistent across allactions.This means that if you specify a built-in handler for one action, you should use the same handlerfor all other actions throughout the entire 'ComponentLifecycleActions' collection.If you need to define lifecycle actions for database engines not covered by the existing built-in support,or when the pre-existing built-in handlers do not meet your specific needs,you can use the 'customHandler' field to define your own action implementation.Deprecation Notice:- In the future, the 'builtinHandler' field will be deprecated in favor of using the 'customHandler' field for configuring all lifecycle actions.- Instead of using a name to indicate the built-in action implementations in Lorry, the recommended approach will be to explicitly invoke the desired action implementation through a gRPC interface exposed by the sidecar agent.- Developers will have the flexibility to either use the built-in action implementations provided by Lorry or develop their own sidecar agent to implement custom actions and expose them via gRPC interfaces.- This change will allow for greater customization and extensibility of lifecycle actions, as developers can create their own 'builtin' implementations tailored to their specific requirements. -- `custom_handler` (Attributes) Specifies a user-defined hook or procedure that is called to perform the specific lifecycle action.It offers a flexible and expandable approach for customizing the behavior of a Component by leveragingtailored actions.An Action can be implemented as either an ExecAction or an HTTPAction, with future versions planningto support GRPCAction,thereby accommodating unique logic for different database systems within the Action's framework.In future iterations, all built-in handlers are expected to transition to GRPCAction.This change means that Lorry or other sidecar agents will expose the implementation of actionsthrough a GRPC interface for external invocation.Then the controller will interact with these actions via GRPCAction calls. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--reconfigure--custom_handler)) - - -### Nested Schema for `spec.lifecycle_actions.reconfigure.custom_handler` - -Optional: - -- `exec` (Attributes) Defines the command to run.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--reconfigure--custom_handler--exec)) +- `exec` (Attributes) Defines the command to run.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--reconfigure--exec)) - `pre_condition` (String) Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated. -- `retry_policy` (Attributes) Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--reconfigure--custom_handler--retry_policy)) +- `retry_policy` (Attributes) Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--reconfigure--retry_policy)) - `timeout_seconds` (Number) Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated. - -### Nested Schema for `spec.lifecycle_actions.reconfigure.custom_handler.exec` + +### Nested Schema for `spec.lifecycle_actions.reconfigure.exec` Optional: - `args` (List of String) Args represents the arguments that are passed to the 'command' for execution. - `command` (List of String) Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure. - `container` (String) Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active. -- `env` (Attributes List) Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--reconfigure--custom_handler--exec--env)) +- `env` (Attributes List) Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--reconfigure--exec--env)) - `image` (String) Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated. - `matching_key` (String) Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active. - `target_pod_selector` (String) Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active. - -### Nested Schema for `spec.lifecycle_actions.reconfigure.custom_handler.exec.env` + +### Nested Schema for `spec.lifecycle_actions.reconfigure.exec.env` Required: @@ -4553,20 +4464,20 @@ Required: Optional: - `value` (String) Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''. -- `value_from` (Attributes) Source for the environment variable's value. Cannot be used if value is not empty. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--reconfigure--custom_handler--exec--env--value_from)) +- `value_from` (Attributes) Source for the environment variable's value. Cannot be used if value is not empty. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--reconfigure--exec--env--value_from)) - -### Nested Schema for `spec.lifecycle_actions.reconfigure.custom_handler.exec.env.value_from` + +### Nested Schema for `spec.lifecycle_actions.reconfigure.exec.env.value_from` Optional: -- `config_map_key_ref` (Attributes) Selects a key of a ConfigMap. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--reconfigure--custom_handler--exec--env--value_from--config_map_key_ref)) -- `field_ref` (Attributes) Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--reconfigure--custom_handler--exec--env--value_from--field_ref)) -- `resource_field_ref` (Attributes) Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--reconfigure--custom_handler--exec--env--value_from--resource_field_ref)) -- `secret_key_ref` (Attributes) Selects a key of a secret in the pod's namespace (see [below for nested schema](#nestedatt--spec--lifecycle_actions--reconfigure--custom_handler--exec--env--value_from--secret_key_ref)) +- `config_map_key_ref` (Attributes) Selects a key of a ConfigMap. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--reconfigure--exec--env--value_from--config_map_key_ref)) +- `field_ref` (Attributes) Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--reconfigure--exec--env--value_from--field_ref)) +- `resource_field_ref` (Attributes) Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--reconfigure--exec--env--value_from--resource_field_ref)) +- `secret_key_ref` (Attributes) Selects a key of a secret in the pod's namespace (see [below for nested schema](#nestedatt--spec--lifecycle_actions--reconfigure--exec--env--value_from--secret_key_ref)) - -### Nested Schema for `spec.lifecycle_actions.reconfigure.custom_handler.exec.env.value_from.config_map_key_ref` + +### Nested Schema for `spec.lifecycle_actions.reconfigure.exec.env.value_from.config_map_key_ref` Required: @@ -4578,8 +4489,8 @@ Optional: - `optional` (Boolean) Specify whether the ConfigMap or its key must be defined - -### Nested Schema for `spec.lifecycle_actions.reconfigure.custom_handler.exec.env.value_from.field_ref` + +### Nested Schema for `spec.lifecycle_actions.reconfigure.exec.env.value_from.field_ref` Required: @@ -4590,8 +4501,8 @@ Optional: - `api_version` (String) Version of the schema the FieldPath is written in terms of, defaults to 'v1'. - -### Nested Schema for `spec.lifecycle_actions.reconfigure.custom_handler.exec.env.value_from.resource_field_ref` + +### Nested Schema for `spec.lifecycle_actions.reconfigure.exec.env.value_from.resource_field_ref` Required: @@ -4603,8 +4514,8 @@ Optional: - `divisor` (String) Specifies the output format of the exposed resources, defaults to '1' - -### Nested Schema for `spec.lifecycle_actions.reconfigure.custom_handler.exec.env.value_from.secret_key_ref` + +### Nested Schema for `spec.lifecycle_actions.reconfigure.exec.env.value_from.secret_key_ref` Required: @@ -4619,8 +4530,8 @@ Optional: - -### Nested Schema for `spec.lifecycle_actions.reconfigure.custom_handler.retry_policy` + +### Nested Schema for `spec.lifecycle_actions.reconfigure.retry_policy` Optional: @@ -4629,13 +4540,11 @@ Optional: - ### Nested Schema for `spec.lifecycle_actions.role_probe` Optional: -- `builtin_handler` (String) TODO: remove this later. - `exec` (Attributes) Defines the command to run.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--role_probe--exec)) - `failure_threshold` (Number) Minimum consecutive failures for the probe to be considered failed after having succeeded.Defaults to 3. Minimum value is 1. - `initial_delay_seconds` (Number) Specifies the number of seconds to wait after the container has started before the RoleProbebegins to detect the container's role. @@ -4749,43 +4658,26 @@ Optional: Optional: -- `script_spec_selectors` (Attributes List) Used to define the selectors for the scriptSpecs that need to be referenced.If this field is set, the scripts defined under the 'scripts' field can be invoked or referenced within an Action.This field is deprecated from v0.9.This field is maintained for backward compatibility and its use is discouraged.Existing usage should be updated to the current preferred approach to avoid compatibility issues in future releases. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--switchover--script_spec_selectors)) -- `with_candidate` (Attributes) Represents the switchover process for a specified candidate primary or leader instance.Note that only Action.Exec is currently supported, while Action.HTTP is not. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--switchover--with_candidate)) -- `without_candidate` (Attributes) Represents a switchover process that does not involve a specific candidate primary or leader instance.As with the previous field, only Action.Exec is currently supported, not Action.HTTP. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--switchover--without_candidate)) - - -### Nested Schema for `spec.lifecycle_actions.switchover.script_spec_selectors` - -Required: - -- `name` (String) Represents the name of the ScriptSpec referent. - - - -### Nested Schema for `spec.lifecycle_actions.switchover.with_candidate` - -Optional: - -- `exec` (Attributes) Defines the command to run.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--switchover--with_candidate--exec)) +- `exec` (Attributes) Defines the command to run.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--switchover--exec)) - `pre_condition` (String) Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated. -- `retry_policy` (Attributes) Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--switchover--with_candidate--retry_policy)) +- `retry_policy` (Attributes) Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--switchover--retry_policy)) - `timeout_seconds` (Number) Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated. - -### Nested Schema for `spec.lifecycle_actions.switchover.with_candidate.exec` + +### Nested Schema for `spec.lifecycle_actions.switchover.exec` Optional: - `args` (List of String) Args represents the arguments that are passed to the 'command' for execution. - `command` (List of String) Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure. - `container` (String) Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active. -- `env` (Attributes List) Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--switchover--with_candidate--exec--env)) +- `env` (Attributes List) Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--switchover--exec--env)) - `image` (String) Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated. - `matching_key` (String) Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active. - `target_pod_selector` (String) Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active. - -### Nested Schema for `spec.lifecycle_actions.switchover.with_candidate.exec.env` + +### Nested Schema for `spec.lifecycle_actions.switchover.exec.env` Required: @@ -4794,20 +4686,20 @@ Required: Optional: - `value` (String) Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''. -- `value_from` (Attributes) Source for the environment variable's value. Cannot be used if value is not empty. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--switchover--with_candidate--exec--env--value_from)) +- `value_from` (Attributes) Source for the environment variable's value. Cannot be used if value is not empty. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--switchover--exec--env--value_from)) - -### Nested Schema for `spec.lifecycle_actions.switchover.with_candidate.exec.env.value_from` + +### Nested Schema for `spec.lifecycle_actions.switchover.exec.env.value_from` Optional: -- `config_map_key_ref` (Attributes) Selects a key of a ConfigMap. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--switchover--with_candidate--exec--env--value_from--config_map_key_ref)) -- `field_ref` (Attributes) Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--switchover--with_candidate--exec--env--value_from--field_ref)) -- `resource_field_ref` (Attributes) Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--switchover--with_candidate--exec--env--value_from--resource_field_ref)) -- `secret_key_ref` (Attributes) Selects a key of a secret in the pod's namespace (see [below for nested schema](#nestedatt--spec--lifecycle_actions--switchover--with_candidate--exec--env--value_from--secret_key_ref)) +- `config_map_key_ref` (Attributes) Selects a key of a ConfigMap. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--switchover--exec--env--value_from--config_map_key_ref)) +- `field_ref` (Attributes) Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--switchover--exec--env--value_from--field_ref)) +- `resource_field_ref` (Attributes) Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--switchover--exec--env--value_from--resource_field_ref)) +- `secret_key_ref` (Attributes) Selects a key of a secret in the pod's namespace (see [below for nested schema](#nestedatt--spec--lifecycle_actions--switchover--exec--env--value_from--secret_key_ref)) - -### Nested Schema for `spec.lifecycle_actions.switchover.with_candidate.exec.env.value_from.config_map_key_ref` + +### Nested Schema for `spec.lifecycle_actions.switchover.exec.env.value_from.config_map_key_ref` Required: @@ -4819,8 +4711,8 @@ Optional: - `optional` (Boolean) Specify whether the ConfigMap or its key must be defined - -### Nested Schema for `spec.lifecycle_actions.switchover.with_candidate.exec.env.value_from.field_ref` + +### Nested Schema for `spec.lifecycle_actions.switchover.exec.env.value_from.field_ref` Required: @@ -4831,8 +4723,8 @@ Optional: - `api_version` (String) Version of the schema the FieldPath is written in terms of, defaults to 'v1'. - -### Nested Schema for `spec.lifecycle_actions.switchover.with_candidate.exec.env.value_from.resource_field_ref` + +### Nested Schema for `spec.lifecycle_actions.switchover.exec.env.value_from.resource_field_ref` Required: @@ -4844,8 +4736,8 @@ Optional: - `divisor` (String) Specifies the output format of the exposed resources, defaults to '1' - -### Nested Schema for `spec.lifecycle_actions.switchover.with_candidate.exec.env.value_from.secret_key_ref` + +### Nested Schema for `spec.lifecycle_actions.switchover.exec.env.value_from.secret_key_ref` Required: @@ -4860,8 +4752,8 @@ Optional: - -### Nested Schema for `spec.lifecycle_actions.switchover.with_candidate.retry_policy` + +### Nested Schema for `spec.lifecycle_actions.switchover.retry_policy` Optional: @@ -4870,116 +4762,6 @@ Optional: - -### Nested Schema for `spec.lifecycle_actions.switchover.without_candidate` - -Optional: - -- `exec` (Attributes) Defines the command to run.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--switchover--without_candidate--exec)) -- `pre_condition` (String) Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated. -- `retry_policy` (Attributes) Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--switchover--without_candidate--retry_policy)) -- `timeout_seconds` (Number) Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated. - - -### Nested Schema for `spec.lifecycle_actions.switchover.without_candidate.exec` - -Optional: - -- `args` (List of String) Args represents the arguments that are passed to the 'command' for execution. -- `command` (List of String) Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure. -- `container` (String) Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active. -- `env` (Attributes List) Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--switchover--without_candidate--exec--env)) -- `image` (String) Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated. -- `matching_key` (String) Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active. -- `target_pod_selector` (String) Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active. - - -### Nested Schema for `spec.lifecycle_actions.switchover.without_candidate.exec.env` - -Required: - -- `name` (String) Name of the environment variable. Must be a C_IDENTIFIER. - -Optional: - -- `value` (String) Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''. -- `value_from` (Attributes) Source for the environment variable's value. Cannot be used if value is not empty. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--switchover--without_candidate--exec--env--value_from)) - - -### Nested Schema for `spec.lifecycle_actions.switchover.without_candidate.exec.env.value_from` - -Optional: - -- `config_map_key_ref` (Attributes) Selects a key of a ConfigMap. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--switchover--without_candidate--exec--env--value_from--config_map_key_ref)) -- `field_ref` (Attributes) Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--switchover--without_candidate--exec--env--value_from--field_ref)) -- `resource_field_ref` (Attributes) Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. (see [below for nested schema](#nestedatt--spec--lifecycle_actions--switchover--without_candidate--exec--env--value_from--resource_field_ref)) -- `secret_key_ref` (Attributes) Selects a key of a secret in the pod's namespace (see [below for nested schema](#nestedatt--spec--lifecycle_actions--switchover--without_candidate--exec--env--value_from--secret_key_ref)) - - -### Nested Schema for `spec.lifecycle_actions.switchover.without_candidate.exec.env.value_from.config_map_key_ref` - -Required: - -- `key` (String) The key to select. - -Optional: - -- `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid? -- `optional` (Boolean) Specify whether the ConfigMap or its key must be defined - - - -### Nested Schema for `spec.lifecycle_actions.switchover.without_candidate.exec.env.value_from.field_ref` - -Required: - -- `field_path` (String) Path of the field to select in the specified API version. - -Optional: - -- `api_version` (String) Version of the schema the FieldPath is written in terms of, defaults to 'v1'. - - - -### Nested Schema for `spec.lifecycle_actions.switchover.without_candidate.exec.env.value_from.resource_field_ref` - -Required: - -- `resource` (String) Required: resource to select - -Optional: - -- `container_name` (String) Container name: required for volumes, optional for env vars -- `divisor` (String) Specifies the output format of the exposed resources, defaults to '1' - - - -### Nested Schema for `spec.lifecycle_actions.switchover.without_candidate.exec.env.value_from.secret_key_ref` - -Required: - -- `key` (String) The key of the secret to select from. Must be a valid secret key. - -Optional: - -- `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid? -- `optional` (Boolean) Specify whether the Secret or its key must be defined - - - - - - -### Nested Schema for `spec.lifecycle_actions.switchover.without_candidate.retry_policy` - -Optional: - -- `max_retries` (Number) Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made. -- `retry_interval` (Number) Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts. - - - - ### Nested Schema for `spec.log_configs` diff --git a/docs/data-sources/apps_kubeblocks_io_ops_request_v1alpha1_manifest.md b/docs/data-sources/apps_kubeblocks_io_ops_request_v1alpha1_manifest.md index f79e9d845..6a1d56229 100644 --- a/docs/data-sources/apps_kubeblocks_io_ops_request_v1alpha1_manifest.md +++ b/docs/data-sources/apps_kubeblocks_io_ops_request_v1alpha1_manifest.md @@ -55,7 +55,7 @@ Optional: Required: -- `type` (String) Specifies the type of this operation. Supported types include 'Start', 'Stop', 'Restart', 'Switchover','VerticalScaling', 'HorizontalScaling', 'VolumeExpansion', 'Reconfiguring', 'Upgrade', 'Backup', 'Restore','Expose', 'DataScript', 'RebuildInstance', 'Custom'.Note: This field is immutable once set. +- `type` (String) Specifies the type of this operation. Supported types include 'Start', 'Stop', 'Restart', 'Switchover','VerticalScaling', 'HorizontalScaling', 'VolumeExpansion', 'Reconfiguring', 'Upgrade', 'Backup', 'Restore','Expose', 'RebuildInstance', 'Custom'.Note: This field is immutable once set. Optional: @@ -76,7 +76,6 @@ Optional: - `restart` (Attributes List) Lists Components to be restarted. (see [below for nested schema](#nestedatt--spec--restart)) - `restore` (Attributes) Specifies the parameters to restore a Cluster.Note that this restore operation will roll back cluster services. (see [below for nested schema](#nestedatt--spec--restore)) - `restore_spec` (Attributes) Deprecated: since v0.9, use restore instead.Specifies the parameters to restore a Cluster.Note that this restore operation will roll back cluster services. (see [below for nested schema](#nestedatt--spec--restore_spec)) -- `script_spec` (Attributes) Specifies the image and scripts for executing engine-specific operations such as creating databases or users.It supports limited engines including MySQL, PostgreSQL, Redis, MongoDB.ScriptSpec has been replaced by the more versatile OpsDefinition.It is recommended to use OpsDefinition instead.ScriptSpec is deprecated and will be removed in a future version. (see [below for nested schema](#nestedatt--spec--script_spec)) - `switchover` (Attributes List) Lists Switchover objects, each specifying a Component to perform the switchover operation. (see [below for nested schema](#nestedatt--spec--switchover)) - `timeout_seconds` (Number) Specifies the maximum duration (in seconds) that an opsRequest is allowed to run.If the opsRequest runs longer than this duration, its phase will be marked as Aborted.If this value is not set or set to 0, the timeout will be ignored and the opsRequest will run indefinitely. - `ttl_seconds_after_succeed` (Number) Specifies the duration in seconds that an OpsRequest will remain in the system after successfully completing(when 'opsRequest.status.phase' is 'Succeed') before automatic deletion. @@ -1818,92 +1817,6 @@ Optional: - `volume_restore_policy` (String) Specifies the policy for restoring volume claims of a Component's Pods.It determines whether the volume claims should be restored sequentially (one by one) or in parallel (all at once).Support values:- 'Serial'- 'Parallel' - -### Nested Schema for `spec.script_spec` - -Required: - -- `component_name` (String) Specifies the name of the Component. - -Optional: - -- `image` (String) Specifies the image to be used to execute scripts.By default, the image 'apecloud/kubeblocks-datascript:latest' is used. -- `script` (List of String) Defines the content of scripts to be executed.All scripts specified in this field will be executed in the order they are provided.Note: this field cannot be modified once set. -- `script_from` (Attributes) Specifies the sources of the scripts to be executed.Each script can be imported either from a ConfigMap or a Secret.All scripts obtained from the sources specified in this field will be executed afterany scripts provided in the 'script' field.Execution order:1. Scripts provided in the 'script' field, in the order of the scripts listed.2. Scripts imported from ConfigMaps, in the order of the sources listed.3. Scripts imported from Secrets, in the order of the sources listed.Note: this field cannot be modified once set. (see [below for nested schema](#nestedatt--spec--script_spec--script_from)) -- `secret` (Attributes) Defines the secret to be used to execute the script. If not specified, the default cluster root credential secret is used. (see [below for nested schema](#nestedatt--spec--script_spec--secret)) -- `selector` (Attributes) Specifies the labels used to select the Pods on which the script should be executed.By default, the script is executed on the Pod associated with the service named '{clusterName}-{componentName}',which typically routes to the Pod with the primary/leader role.However, some Components, such as Redis, do not synchronize account information between primary and secondary Pods.In these cases, the script must be executed on all replica Pods matching the selector.Note: this field cannot be modified once set. (see [below for nested schema](#nestedatt--spec--script_spec--selector)) - - -### Nested Schema for `spec.script_spec.script_from` - -Optional: - -- `config_map_ref` (Attributes List) A list of ConfigMapKeySelector objects, each specifies a ConfigMap and a key containing the script.Note: This field cannot be modified once set. (see [below for nested schema](#nestedatt--spec--script_spec--script_from--config_map_ref)) -- `secret_ref` (Attributes List) A list of SecretKeySelector objects, each specifies a Secret and a key containing the script.Note: This field cannot be modified once set. (see [below for nested schema](#nestedatt--spec--script_spec--script_from--secret_ref)) - - -### Nested Schema for `spec.script_spec.script_from.config_map_ref` - -Required: - -- `key` (String) The key to select. - -Optional: - -- `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid? -- `optional` (Boolean) Specify whether the ConfigMap or its key must be defined - - - -### Nested Schema for `spec.script_spec.script_from.secret_ref` - -Required: - -- `key` (String) The key of the secret to select from. Must be a valid secret key. - -Optional: - -- `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid? -- `optional` (Boolean) Specify whether the Secret or its key must be defined - - - - -### Nested Schema for `spec.script_spec.secret` - -Required: - -- `name` (String) Specifies the name of the secret. - -Optional: - -- `password_key` (String) Used to specify the password part of the secret. -- `username_key` (String) Used to specify the username part of the secret. - - - -### Nested Schema for `spec.script_spec.selector` - -Optional: - -- `match_expressions` (Attributes List) matchExpressions is a list of label selector requirements. The requirements are ANDed. (see [below for nested schema](#nestedatt--spec--script_spec--selector--match_expressions)) -- `match_labels` (Map of String) matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabelsmap is equivalent to an element of matchExpressions, whose key field is 'key', theoperator is 'In', and the values array contains only 'value'. The requirements are ANDed. - - -### Nested Schema for `spec.script_spec.selector.match_expressions` - -Required: - -- `key` (String) key is the label key that the selector applies to. -- `operator` (String) operator represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists and DoesNotExist. - -Optional: - -- `values` (List of String) 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. This array is replaced during a strategicmerge patch. - - - - ### Nested Schema for `spec.switchover` diff --git a/docs/data-sources/asdb_aerospike_com_aerospike_cluster_v1_manifest.md b/docs/data-sources/asdb_aerospike_com_aerospike_cluster_v1_manifest.md index 4a7089490..6c505ea3e 100644 --- a/docs/data-sources/asdb_aerospike_com_aerospike_cluster_v1_manifest.md +++ b/docs/data-sources/asdb_aerospike_com_aerospike_cluster_v1_manifest.md @@ -74,6 +74,7 @@ Optional: - `max_unavailable` (String) MaxUnavailable is the percentage/number of pods that can be allowed to go down or unavailable before application disruption. This value is used to create PodDisruptionBudget. Defaults to 1. Refer Aerospike documentation for more details. - `operations` (Attributes List) Operations is a list of on-demand operations to be performed on the Aerospike cluster. (see [below for nested schema](#nestedatt--spec--operations)) - `operator_client_cert` (Attributes) Certificates to connect to Aerospike. (see [below for nested schema](#nestedatt--spec--operator_client_cert)) +- `paused` (Boolean) Paused flag is used to pause the reconciliation for the AerospikeCluster. - `pod_spec` (Attributes) Specify additional configuration for the Aerospike pods (see [below for nested schema](#nestedatt--spec--pod_spec)) - `rack_config` (Attributes) RackConfig Configures the operator to deploy rack aware Aerospike cluster. Pods will be deployed in given racks based on given configuration (see [below for nested schema](#nestedatt--spec--rack_config)) - `roster_node_block_list` (List of String) RosterNodeBlockList is a list of blocked nodeIDs from roster in a strong-consistency setup diff --git a/docs/data-sources/camel_apache_org_integration_platform_v1_manifest.md b/docs/data-sources/camel_apache_org_integration_platform_v1_manifest.md index f95c499c7..5fc3f8173 100644 --- a/docs/data-sources/camel_apache_org_integration_platform_v1_manifest.md +++ b/docs/data-sources/camel_apache_org_integration_platform_v1_manifest.md @@ -472,7 +472,7 @@ Optional: - `container_meta` (Boolean) Enables injection of 'NAMESPACE' and 'POD_NAME' environment variables (default 'true') - `enabled` (Boolean) Deprecated: no longer in use. - `http_proxy` (Boolean) Propagates the 'HTTP_PROXY', 'HTTPS_PROXY' and 'NO_PROXY' environment variables (default 'true') -- `vars` (List of String) A list of environment variables to be added to the integration container.The syntax is KEY=VALUE, e.g., 'MY_VAR='my value''.These take precedence over the previously defined environment variables. +- `vars` (List of String) A list of environment variables to be added to the integration container.The syntax is either VAR=VALUE or VAR=[configmap|secret]:name/key, where name represents the resource name,and key represents the resource key to be mapped as and environment variable.These take precedence over any previously defined environment variables. @@ -685,7 +685,7 @@ Optional: - `enabled` (Boolean) Deprecated: no longer in use. - `hot_reload` (Boolean) Enable 'hot reload' when a secret/configmap mounted is edited (default 'false'). The configmap/secret must bemarked with 'camel.apache.org/integration' label to be taken in account. The resource will be watched for any kind change, also forchanges in metadata. - `resources` (List of String) A list of resources (text or binary content) pointing to configmap/secret.The resources are expected to be any resource type (text or binary content).The destination path can be either a default location or any path specified by the user.Syntax: [configmap|secret]:name[/key][@path], where name represents the resource name, key optionally represents the resource key to be filtered and path represents the destination path -- `scan_kamelets_implicit_label_secrets` (Boolean) Deprecated: include your properties in an explicit property file backed by a secret.Let the operator to scan for secret labeled with 'camel.apache.org/kamelet' and 'camel.apache.org/kamelet.configuration'.These secrets are mounted to the application and treated as plain properties file with their key/value list(ie .spec.data['camel.my-property'] = my-value) (default 'true'). +- `scan_kamelets_implicit_label_secrets` (Boolean) Deprecated: no longer available since version 2.5. - `volumes` (List of String) A list of Persistent Volume Claims to be mounted. Syntax: [pvcname:/container/path] diff --git a/docs/data-sources/camel_apache_org_integration_profile_v1_manifest.md b/docs/data-sources/camel_apache_org_integration_profile_v1_manifest.md index df64feab5..f7607d0aa 100644 --- a/docs/data-sources/camel_apache_org_integration_profile_v1_manifest.md +++ b/docs/data-sources/camel_apache_org_integration_profile_v1_manifest.md @@ -437,7 +437,7 @@ Optional: - `container_meta` (Boolean) Enables injection of 'NAMESPACE' and 'POD_NAME' environment variables (default 'true') - `enabled` (Boolean) Deprecated: no longer in use. - `http_proxy` (Boolean) Propagates the 'HTTP_PROXY', 'HTTPS_PROXY' and 'NO_PROXY' environment variables (default 'true') -- `vars` (List of String) A list of environment variables to be added to the integration container.The syntax is KEY=VALUE, e.g., 'MY_VAR='my value''.These take precedence over the previously defined environment variables. +- `vars` (List of String) A list of environment variables to be added to the integration container.The syntax is either VAR=VALUE or VAR=[configmap|secret]:name/key, where name represents the resource name,and key represents the resource key to be mapped as and environment variable.These take precedence over any previously defined environment variables. @@ -650,7 +650,7 @@ Optional: - `enabled` (Boolean) Deprecated: no longer in use. - `hot_reload` (Boolean) Enable 'hot reload' when a secret/configmap mounted is edited (default 'false'). The configmap/secret must bemarked with 'camel.apache.org/integration' label to be taken in account. The resource will be watched for any kind change, also forchanges in metadata. - `resources` (List of String) A list of resources (text or binary content) pointing to configmap/secret.The resources are expected to be any resource type (text or binary content).The destination path can be either a default location or any path specified by the user.Syntax: [configmap|secret]:name[/key][@path], where name represents the resource name, key optionally represents the resource key to be filtered and path represents the destination path -- `scan_kamelets_implicit_label_secrets` (Boolean) Deprecated: include your properties in an explicit property file backed by a secret.Let the operator to scan for secret labeled with 'camel.apache.org/kamelet' and 'camel.apache.org/kamelet.configuration'.These secrets are mounted to the application and treated as plain properties file with their key/value list(ie .spec.data['camel.my-property'] = my-value) (default 'true'). +- `scan_kamelets_implicit_label_secrets` (Boolean) Deprecated: no longer available since version 2.5. - `volumes` (List of String) A list of Persistent Volume Claims to be mounted. Syntax: [pvcname:/container/path] diff --git a/docs/data-sources/camel_apache_org_integration_v1_manifest.md b/docs/data-sources/camel_apache_org_integration_v1_manifest.md index 2a8d59acd..779fcaf51 100644 --- a/docs/data-sources/camel_apache_org_integration_v1_manifest.md +++ b/docs/data-sources/camel_apache_org_integration_v1_manifest.md @@ -3082,7 +3082,7 @@ Optional: - `container_meta` (Boolean) Enables injection of 'NAMESPACE' and 'POD_NAME' environment variables (default 'true') - `enabled` (Boolean) Deprecated: no longer in use. - `http_proxy` (Boolean) Propagates the 'HTTP_PROXY', 'HTTPS_PROXY' and 'NO_PROXY' environment variables (default 'true') -- `vars` (List of String) A list of environment variables to be added to the integration container.The syntax is KEY=VALUE, e.g., 'MY_VAR='my value''.These take precedence over the previously defined environment variables. +- `vars` (List of String) A list of environment variables to be added to the integration container.The syntax is either VAR=VALUE or VAR=[configmap|secret]:name/key, where name represents the resource name,and key represents the resource key to be mapped as and environment variable.These take precedence over any previously defined environment variables. @@ -3295,7 +3295,7 @@ Optional: - `enabled` (Boolean) Deprecated: no longer in use. - `hot_reload` (Boolean) Enable 'hot reload' when a secret/configmap mounted is edited (default 'false'). The configmap/secret must bemarked with 'camel.apache.org/integration' label to be taken in account. The resource will be watched for any kind change, also forchanges in metadata. - `resources` (List of String) A list of resources (text or binary content) pointing to configmap/secret.The resources are expected to be any resource type (text or binary content).The destination path can be either a default location or any path specified by the user.Syntax: [configmap|secret]:name[/key][@path], where name represents the resource name, key optionally represents the resource key to be filtered and path represents the destination path -- `scan_kamelets_implicit_label_secrets` (Boolean) Deprecated: include your properties in an explicit property file backed by a secret.Let the operator to scan for secret labeled with 'camel.apache.org/kamelet' and 'camel.apache.org/kamelet.configuration'.These secrets are mounted to the application and treated as plain properties file with their key/value list(ie .spec.data['camel.my-property'] = my-value) (default 'true'). +- `scan_kamelets_implicit_label_secrets` (Boolean) Deprecated: no longer available since version 2.5. - `volumes` (List of String) A list of Persistent Volume Claims to be mounted. Syntax: [pvcname:/container/path] diff --git a/docs/data-sources/camel_apache_org_kamelet_binding_v1alpha1_manifest.md b/docs/data-sources/camel_apache_org_kamelet_binding_v1alpha1_manifest.md index ae421bc2f..3d6fc1e72 100644 --- a/docs/data-sources/camel_apache_org_kamelet_binding_v1alpha1_manifest.md +++ b/docs/data-sources/camel_apache_org_kamelet_binding_v1alpha1_manifest.md @@ -3095,7 +3095,7 @@ Optional: - `container_meta` (Boolean) Enables injection of 'NAMESPACE' and 'POD_NAME' environment variables (default 'true') - `enabled` (Boolean) Deprecated: no longer in use. - `http_proxy` (Boolean) Propagates the 'HTTP_PROXY', 'HTTPS_PROXY' and 'NO_PROXY' environment variables (default 'true') -- `vars` (List of String) A list of environment variables to be added to the integration container.The syntax is KEY=VALUE, e.g., 'MY_VAR='my value''.These take precedence over the previously defined environment variables. +- `vars` (List of String) A list of environment variables to be added to the integration container.The syntax is either VAR=VALUE or VAR=[configmap|secret]:name/key, where name represents the resource name,and key represents the resource key to be mapped as and environment variable.These take precedence over any previously defined environment variables. @@ -3308,7 +3308,7 @@ Optional: - `enabled` (Boolean) Deprecated: no longer in use. - `hot_reload` (Boolean) Enable 'hot reload' when a secret/configmap mounted is edited (default 'false'). The configmap/secret must bemarked with 'camel.apache.org/integration' label to be taken in account. The resource will be watched for any kind change, also forchanges in metadata. - `resources` (List of String) A list of resources (text or binary content) pointing to configmap/secret.The resources are expected to be any resource type (text or binary content).The destination path can be either a default location or any path specified by the user.Syntax: [configmap|secret]:name[/key][@path], where name represents the resource name, key optionally represents the resource key to be filtered and path represents the destination path -- `scan_kamelets_implicit_label_secrets` (Boolean) Deprecated: include your properties in an explicit property file backed by a secret.Let the operator to scan for secret labeled with 'camel.apache.org/kamelet' and 'camel.apache.org/kamelet.configuration'.These secrets are mounted to the application and treated as plain properties file with their key/value list(ie .spec.data['camel.my-property'] = my-value) (default 'true'). +- `scan_kamelets_implicit_label_secrets` (Boolean) Deprecated: no longer available since version 2.5. - `volumes` (List of String) A list of Persistent Volume Claims to be mounted. Syntax: [pvcname:/container/path] diff --git a/docs/data-sources/camel_apache_org_pipe_v1_manifest.md b/docs/data-sources/camel_apache_org_pipe_v1_manifest.md index 081d3308c..a8abdbce8 100644 --- a/docs/data-sources/camel_apache_org_pipe_v1_manifest.md +++ b/docs/data-sources/camel_apache_org_pipe_v1_manifest.md @@ -3095,7 +3095,7 @@ Optional: - `container_meta` (Boolean) Enables injection of 'NAMESPACE' and 'POD_NAME' environment variables (default 'true') - `enabled` (Boolean) Deprecated: no longer in use. - `http_proxy` (Boolean) Propagates the 'HTTP_PROXY', 'HTTPS_PROXY' and 'NO_PROXY' environment variables (default 'true') -- `vars` (List of String) A list of environment variables to be added to the integration container.The syntax is KEY=VALUE, e.g., 'MY_VAR='my value''.These take precedence over the previously defined environment variables. +- `vars` (List of String) A list of environment variables to be added to the integration container.The syntax is either VAR=VALUE or VAR=[configmap|secret]:name/key, where name represents the resource name,and key represents the resource key to be mapped as and environment variable.These take precedence over any previously defined environment variables. @@ -3308,7 +3308,7 @@ Optional: - `enabled` (Boolean) Deprecated: no longer in use. - `hot_reload` (Boolean) Enable 'hot reload' when a secret/configmap mounted is edited (default 'false'). The configmap/secret must bemarked with 'camel.apache.org/integration' label to be taken in account. The resource will be watched for any kind change, also forchanges in metadata. - `resources` (List of String) A list of resources (text or binary content) pointing to configmap/secret.The resources are expected to be any resource type (text or binary content).The destination path can be either a default location or any path specified by the user.Syntax: [configmap|secret]:name[/key][@path], where name represents the resource name, key optionally represents the resource key to be filtered and path represents the destination path -- `scan_kamelets_implicit_label_secrets` (Boolean) Deprecated: include your properties in an explicit property file backed by a secret.Let the operator to scan for secret labeled with 'camel.apache.org/kamelet' and 'camel.apache.org/kamelet.configuration'.These secrets are mounted to the application and treated as plain properties file with their key/value list(ie .spec.data['camel.my-property'] = my-value) (default 'true'). +- `scan_kamelets_implicit_label_secrets` (Boolean) Deprecated: no longer available since version 2.5. - `volumes` (List of String) A list of Persistent Volume Claims to be mounted. Syntax: [pvcname:/container/path] diff --git a/docs/data-sources/canaries_flanksource_com_canary_v1_manifest.md b/docs/data-sources/canaries_flanksource_com_canary_v1_manifest.md index 99ba89e93..ce68c45a5 100644 --- a/docs/data-sources/canaries_flanksource_com_canary_v1_manifest.md +++ b/docs/data-sources/canaries_flanksource_com_canary_v1_manifest.md @@ -1629,10 +1629,12 @@ Optional: - `cache` (String) Cache directives 'no-cache' (should not fetch from cache but can be cached) 'no-store' (should not cache) 'max-age=X' (cache for X duration) - `field_selector` (String) - `id` (String) +- `include_deleted` (Boolean) - `label_selector` (String) - `name` (String) - `namespace` (String) - `scope` (String) +- `search` (String) Search query that applies to the resource name, tag & labels. - `statuses` (List of String) - `tag_selector` (String) - `types` (List of String) @@ -7341,7 +7343,7 @@ Optional: - `description` (String) Description for the check - `display` (Attributes) (see [below for nested schema](#nestedatt--spec--http--display)) - `endpoint` (String) Deprecated: Use url instead -- `env` (Attributes List) EnvVars are the environment variables that are accesible to templated body (see [below for nested schema](#nestedatt--spec--http--env)) +- `env` (Attributes List) EnvVars are the environment variables that are accessible to templated body (see [below for nested schema](#nestedatt--spec--http--env)) - `headers` (Attributes List) Header fields to be used in the query (see [below for nested schema](#nestedatt--spec--http--headers)) - `icon` (String) Icon for overwriting default icon on the dashboard - `labels` (Map of String) Labels for the check @@ -11715,12 +11717,15 @@ Optional: - `bearer` (Attributes) (see [below for nested schema](#nestedatt--spec--prometheus--bearer)) - `connection` (String) - `description` (String) Description for the check +- `digest` (Boolean) - `display` (Attributes) (see [below for nested schema](#nestedatt--spec--prometheus--display)) - `host` (String) Deprecated: use 'url' instead - `icon` (String) Icon for overwriting default icon on the dashboard - `labels` (Map of String) Labels for the check - `metrics` (Attributes List) Metrics to expose from check.https://canarychecker.io/concepts/metrics-exporter (see [below for nested schema](#nestedatt--spec--prometheus--metrics)) - `namespace` (String) Namespace to insert the check into, if different to the namespace the canary is defined, e.g. +- `ntlm` (Boolean) +- `ntlmv2` (Boolean) - `oauth` (Attributes) (see [below for nested schema](#nestedatt--spec--prometheus--oauth)) - `password` (Attributes) (see [below for nested schema](#nestedatt--spec--prometheus--password)) - `relationships` (Attributes) Relationships defines a way to link the check results to components and configsusing lookup expressions. (see [below for nested schema](#nestedatt--spec--prometheus--relationships)) diff --git a/docs/data-sources/canaries_flanksource_com_component_v1_manifest.md b/docs/data-sources/canaries_flanksource_com_component_v1_manifest.md index 76fd98cd3..a0c33fb7c 100644 --- a/docs/data-sources/canaries_flanksource_com_component_v1_manifest.md +++ b/docs/data-sources/canaries_flanksource_com_component_v1_manifest.md @@ -60,6 +60,7 @@ Optional: - `configs` (Attributes List) Lookup and associate config items with this component (see [below for nested schema](#nestedatt--spec--configs)) - `external_id` (String) - `for_each` (Map of String) Only applies when using lookup, when specified the components and propertiesspecified under ForEach will be templated using the components returned by the lookup${.properties} can be used to reference the properties of the component${.component} can be used to reference the component itself +- `health` (String) - `hidden` (Boolean) If set to true, do not display in UI - `icon` (String) - `id` (Attributes) (see [below for nested schema](#nestedatt--spec--id)) @@ -95,10 +96,12 @@ Optional: - `external_id` (String) Deprecated. Use 'fieldSelector (external_id=)' - `field_selector` (String) - `id` (String) +- `include_deleted` (Boolean) - `label_selector` (String) - `name` (String) - `namespace` (String) - `scope` (String) +- `search` (String) Search query that applies to the resource name, tag & labels. - `statuses` (List of String) - `tag_selector` (String) - `tags` (Map of String) Deprecated. Use 'labelSelector' @@ -156,10 +159,12 @@ Optional: - `cache` (String) Cache directives 'no-cache' (should not fetch from cache but can be cached) 'no-store' (should not cache) 'max-age=X' (cache for X duration) - `field_selector` (String) - `id` (String) +- `include_deleted` (Boolean) - `label_selector` (String) - `name` (String) - `namespace` (String) - `scope` (String) +- `search` (String) Search query that applies to the resource name, tag & labels. - `statuses` (List of String) - `tag_selector` (String) - `types` (List of String) diff --git a/docs/data-sources/canaries_flanksource_com_topology_v1_manifest.md b/docs/data-sources/canaries_flanksource_com_topology_v1_manifest.md index 2cd0b3573..bcc8e7c31 100644 --- a/docs/data-sources/canaries_flanksource_com_topology_v1_manifest.md +++ b/docs/data-sources/canaries_flanksource_com_topology_v1_manifest.md @@ -80,6 +80,7 @@ Optional: - `configs` (Attributes List) Lookup and associate config items with this component (see [below for nested schema](#nestedatt--spec--components--configs)) - `external_id` (String) - `for_each` (Map of String) Only applies when using lookup, when specified the components and propertiesspecified under ForEach will be templated using the components returned by the lookup${.properties} can be used to reference the properties of the component${.component} can be used to reference the component itself +- `health` (String) - `hidden` (Boolean) If set to true, do not display in UI - `icon` (String) - `id` (Attributes) (see [below for nested schema](#nestedatt--spec--components--id)) @@ -117,10 +118,12 @@ Optional: - `cache` (String) Cache directives 'no-cache' (should not fetch from cache but can be cached) 'no-store' (should not cache) 'max-age=X' (cache for X duration) - `field_selector` (String) - `id` (String) +- `include_deleted` (Boolean) - `label_selector` (String) - `name` (String) - `namespace` (String) - `scope` (String) +- `search` (String) Search query that applies to the resource name, tag & labels. - `statuses` (List of String) - `tag_selector` (String) - `types` (List of String) @@ -138,10 +141,12 @@ Optional: - `external_id` (String) Deprecated. Use 'fieldSelector (external_id=)' - `field_selector` (String) - `id` (String) +- `include_deleted` (Boolean) - `label_selector` (String) - `name` (String) - `namespace` (String) - `scope` (String) +- `search` (String) Search query that applies to the resource name, tag & labels. - `statuses` (List of String) - `tag_selector` (String) - `tags` (Map of String) Deprecated. Use 'labelSelector' @@ -199,10 +204,12 @@ Optional: - `cache` (String) Cache directives 'no-cache' (should not fetch from cache but can be cached) 'no-store' (should not cache) 'max-age=X' (cache for X duration) - `field_selector` (String) - `id` (String) +- `include_deleted` (Boolean) - `label_selector` (String) - `name` (String) - `namespace` (String) - `scope` (String) +- `search` (String) Search query that applies to the resource name, tag & labels. - `statuses` (List of String) - `tag_selector` (String) - `types` (List of String) @@ -242,10 +249,12 @@ Optional: - `external_id` (String) Deprecated. Use 'fieldSelector (external_id=)' - `field_selector` (String) - `id` (String) +- `include_deleted` (Boolean) - `label_selector` (String) - `name` (String) - `namespace` (String) - `scope` (String) +- `search` (String) Search query that applies to the resource name, tag & labels. - `statuses` (List of String) - `tag_selector` (String) - `tags` (Map of String) Deprecated. Use 'labelSelector' @@ -273,10 +282,12 @@ Optional: - `cache` (String) Cache directives 'no-cache' (should not fetch from cache but can be cached) 'no-store' (should not cache) 'max-age=X' (cache for X duration) - `field_selector` (String) - `id` (String) +- `include_deleted` (Boolean) - `label_selector` (String) - `name` (String) - `namespace` (String) - `scope` (String) +- `search` (String) Search query that applies to the resource name, tag & labels. - `statuses` (List of String) - `tag_selector` (String) - `types` (List of String) @@ -340,10 +351,12 @@ Optional: - `external_id` (String) Deprecated. Use 'fieldSelector (external_id=)' - `field_selector` (String) - `id` (String) +- `include_deleted` (Boolean) - `label_selector` (String) - `name` (String) - `namespace` (String) - `scope` (String) +- `search` (String) Search query that applies to the resource name, tag & labels. - `statuses` (List of String) - `tag_selector` (String) - `tags` (Map of String) Deprecated. Use 'labelSelector' @@ -395,6 +408,9 @@ Optional: - `bearer` (Attributes) (see [below for nested schema](#nestedatt--spec--push--bearer)) - `connection` (String) +- `digest` (Boolean) +- `ntlm` (Boolean) +- `ntlmv2` (Boolean) - `oauth` (Attributes) (see [below for nested schema](#nestedatt--spec--push--oauth)) - `password` (Attributes) (see [below for nested schema](#nestedatt--spec--push--password)) - `tls` (Attributes) (see [below for nested schema](#nestedatt--spec--push--tls)) diff --git a/docs/data-sources/cilium_io_cilium_load_balancer_ip_pool_v2alpha1_manifest.md b/docs/data-sources/cilium_io_cilium_load_balancer_ip_pool_v2alpha1_manifest.md index 3374b935f..3f97c8596 100644 --- a/docs/data-sources/cilium_io_cilium_load_balancer_ip_pool_v2alpha1_manifest.md +++ b/docs/data-sources/cilium_io_cilium_load_balancer_ip_pool_v2alpha1_manifest.md @@ -54,7 +54,7 @@ Optional: Optional: -- `allow_first_last_i_ps` (String) AllowFirstLastIPs, if set to 'yes' means that the first and last IPs of each CIDR will be allocatable. If 'no' or undefined, these IPs will be reserved. This field is ignored for /{31,32} and /{127,128} CIDRs since reserving the first and last IPs would make the CIDRs unusable. +- `allow_first_last_i_ps` (String) AllowFirstLastIPs, if set to 'Yes' or undefined means that the first and last IPs of each CIDR will be allocatable. If 'No', these IPs will be reserved. This field is ignored for /{31,32} and /{127,128} CIDRs since reserving the first and last IPs would make the CIDRs unusable. - `blocks` (Attributes List) Blocks is a list of CIDRs comprising this IP Pool (see [below for nested schema](#nestedatt--spec--blocks)) - `disabled` (Boolean) Disabled, if set to true means that no new IPs will be allocated from this pool. Existing allocations will not be removed from services. - `service_selector` (Attributes) ServiceSelector selects a set of services which are eligible to receive IPs from this (see [below for nested schema](#nestedatt--spec--service_selector)) diff --git a/docs/data-sources/claudie_io_input_manifest_v1beta1_manifest.md b/docs/data-sources/claudie_io_input_manifest_v1beta1_manifest.md index de5f0890a..8eb3868b4 100644 --- a/docs/data-sources/claudie_io_input_manifest_v1beta1_manifest.md +++ b/docs/data-sources/claudie_io_input_manifest_v1beta1_manifest.md @@ -269,9 +269,13 @@ Optional: Required: - `name` (String) Name is the name of the provider specification. It has to be unique across all providers. -- `provider_type` (String) ProviderType type of a provider.A list of available providers can be found at https://docs.claudie.io/v0.3.2/input-manifest/providers/aws/ +- `provider_type` (String) ProviderType type of a provider.A list of available providers can be found at https://docs.claudie.io/v0.8.1/input-manifest/providers/aws/ - `secret_ref` (Attributes) SecretReference represents a Secret Reference. It has enough information to retrieve secretin any namespace (see [below for nested schema](#nestedatt--spec--providers--secret_ref)) +Optional: + +- `templates` (Attributes) External templates for building the cluster infrastructure. (see [below for nested schema](#nestedatt--spec--providers--templates)) + ### Nested Schema for `spec.providers.secret_ref` @@ -279,3 +283,16 @@ Optional: - `name` (String) name is unique within a namespace to reference a secret resource. - `namespace` (String) namespace defines the space within which the secret name must be unique. + + + +### Nested Schema for `spec.providers.templates` + +Required: + +- `path` (String) +- `repository` (String) + +Optional: + +- `tag` (String) diff --git a/docs/data-sources/cluster_x_k8s_io_cluster_class_v1alpha4_manifest.md b/docs/data-sources/cluster_x_k8s_io_cluster_class_v1alpha4_manifest.md index 3721167f8..144a53dc6 100644 --- a/docs/data-sources/cluster_x_k8s_io_cluster_class_v1alpha4_manifest.md +++ b/docs/data-sources/cluster_x_k8s_io_cluster_class_v1alpha4_manifest.md @@ -77,7 +77,7 @@ Optional: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ @@ -98,7 +98,7 @@ Required: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ @@ -130,7 +130,7 @@ Required: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ @@ -179,7 +179,7 @@ Required: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ @@ -201,7 +201,7 @@ Required: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ diff --git a/docs/data-sources/cluster_x_k8s_io_cluster_class_v1beta1_manifest.md b/docs/data-sources/cluster_x_k8s_io_cluster_class_v1beta1_manifest.md index 22e7261ab..8d2be350f 100644 --- a/docs/data-sources/cluster_x_k8s_io_cluster_class_v1beta1_manifest.md +++ b/docs/data-sources/cluster_x_k8s_io_cluster_class_v1beta1_manifest.md @@ -84,7 +84,7 @@ Optional: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ @@ -109,7 +109,7 @@ Optional: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ @@ -141,7 +141,7 @@ Required: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ @@ -181,7 +181,7 @@ Required: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ @@ -427,7 +427,7 @@ Required: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ @@ -449,7 +449,7 @@ Required: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ @@ -485,7 +485,7 @@ Optional: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ @@ -583,7 +583,7 @@ Required: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ @@ -605,7 +605,7 @@ Required: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ diff --git a/docs/data-sources/cluster_x_k8s_io_cluster_v1alpha3_manifest.md b/docs/data-sources/cluster_x_k8s_io_cluster_v1alpha3_manifest.md index 8dea96856..c55222eba 100644 --- a/docs/data-sources/cluster_x_k8s_io_cluster_v1alpha3_manifest.md +++ b/docs/data-sources/cluster_x_k8s_io_cluster_v1alpha3_manifest.md @@ -103,7 +103,7 @@ Required: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ @@ -117,7 +117,7 @@ Optional: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ diff --git a/docs/data-sources/cluster_x_k8s_io_cluster_v1alpha4_manifest.md b/docs/data-sources/cluster_x_k8s_io_cluster_v1alpha4_manifest.md index 1e89ee1fd..1107eec87 100644 --- a/docs/data-sources/cluster_x_k8s_io_cluster_v1alpha4_manifest.md +++ b/docs/data-sources/cluster_x_k8s_io_cluster_v1alpha4_manifest.md @@ -104,7 +104,7 @@ Required: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ @@ -118,7 +118,7 @@ Optional: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ diff --git a/docs/data-sources/cluster_x_k8s_io_cluster_v1beta1_manifest.md b/docs/data-sources/cluster_x_k8s_io_cluster_v1beta1_manifest.md index 411dbc803..25ded63e1 100644 --- a/docs/data-sources/cluster_x_k8s_io_cluster_v1beta1_manifest.md +++ b/docs/data-sources/cluster_x_k8s_io_cluster_v1beta1_manifest.md @@ -104,7 +104,7 @@ Required: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ @@ -118,7 +118,7 @@ Optional: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ @@ -172,7 +172,7 @@ Optional: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ @@ -282,7 +282,7 @@ Optional: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ diff --git a/docs/data-sources/cluster_x_k8s_io_machine_deployment_v1alpha3_manifest.md b/docs/data-sources/cluster_x_k8s_io_machine_deployment_v1alpha3_manifest.md index e73ae226c..6b9f6f348 100644 --- a/docs/data-sources/cluster_x_k8s_io_machine_deployment_v1alpha3_manifest.md +++ b/docs/data-sources/cluster_x_k8s_io_machine_deployment_v1alpha3_manifest.md @@ -158,7 +158,7 @@ Optional: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ @@ -173,7 +173,7 @@ Optional: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ diff --git a/docs/data-sources/cluster_x_k8s_io_machine_deployment_v1alpha4_manifest.md b/docs/data-sources/cluster_x_k8s_io_machine_deployment_v1alpha4_manifest.md index 7aadb958f..69eab144c 100644 --- a/docs/data-sources/cluster_x_k8s_io_machine_deployment_v1alpha4_manifest.md +++ b/docs/data-sources/cluster_x_k8s_io_machine_deployment_v1alpha4_manifest.md @@ -137,7 +137,7 @@ Optional: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ @@ -152,7 +152,7 @@ Optional: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ diff --git a/docs/data-sources/cluster_x_k8s_io_machine_deployment_v1beta1_manifest.md b/docs/data-sources/cluster_x_k8s_io_machine_deployment_v1beta1_manifest.md index 0a8423173..3488a8e20 100644 --- a/docs/data-sources/cluster_x_k8s_io_machine_deployment_v1beta1_manifest.md +++ b/docs/data-sources/cluster_x_k8s_io_machine_deployment_v1beta1_manifest.md @@ -140,7 +140,7 @@ Optional: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ @@ -155,7 +155,7 @@ Optional: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ diff --git a/docs/data-sources/cluster_x_k8s_io_machine_health_check_v1alpha3_manifest.md b/docs/data-sources/cluster_x_k8s_io_machine_health_check_v1alpha3_manifest.md index f7228cb7a..e7db6b75e 100644 --- a/docs/data-sources/cluster_x_k8s_io_machine_health_check_v1alpha3_manifest.md +++ b/docs/data-sources/cluster_x_k8s_io_machine_health_check_v1alpha3_manifest.md @@ -103,7 +103,7 @@ Required: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ diff --git a/docs/data-sources/cluster_x_k8s_io_machine_health_check_v1alpha4_manifest.md b/docs/data-sources/cluster_x_k8s_io_machine_health_check_v1alpha4_manifest.md index edb5a2ba1..61277ba06 100644 --- a/docs/data-sources/cluster_x_k8s_io_machine_health_check_v1alpha4_manifest.md +++ b/docs/data-sources/cluster_x_k8s_io_machine_health_check_v1alpha4_manifest.md @@ -104,7 +104,7 @@ Required: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ diff --git a/docs/data-sources/cluster_x_k8s_io_machine_health_check_v1beta1_manifest.md b/docs/data-sources/cluster_x_k8s_io_machine_health_check_v1beta1_manifest.md index dbc687e7a..1b24c8d2b 100644 --- a/docs/data-sources/cluster_x_k8s_io_machine_health_check_v1beta1_manifest.md +++ b/docs/data-sources/cluster_x_k8s_io_machine_health_check_v1beta1_manifest.md @@ -94,7 +94,7 @@ Optional: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ diff --git a/docs/data-sources/cluster_x_k8s_io_machine_pool_v1alpha3_manifest.md b/docs/data-sources/cluster_x_k8s_io_machine_pool_v1alpha3_manifest.md index 54be7d82c..67927d2e7 100644 --- a/docs/data-sources/cluster_x_k8s_io_machine_pool_v1alpha3_manifest.md +++ b/docs/data-sources/cluster_x_k8s_io_machine_pool_v1alpha3_manifest.md @@ -134,7 +134,7 @@ Optional: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ @@ -149,7 +149,7 @@ Optional: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ diff --git a/docs/data-sources/cluster_x_k8s_io_machine_pool_v1alpha4_manifest.md b/docs/data-sources/cluster_x_k8s_io_machine_pool_v1alpha4_manifest.md index 89eca6a12..4c878b233 100644 --- a/docs/data-sources/cluster_x_k8s_io_machine_pool_v1alpha4_manifest.md +++ b/docs/data-sources/cluster_x_k8s_io_machine_pool_v1alpha4_manifest.md @@ -112,7 +112,7 @@ Optional: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ @@ -127,7 +127,7 @@ Optional: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ diff --git a/docs/data-sources/cluster_x_k8s_io_machine_pool_v1beta1_manifest.md b/docs/data-sources/cluster_x_k8s_io_machine_pool_v1beta1_manifest.md index 25adf5a1e..dfc702ad5 100644 --- a/docs/data-sources/cluster_x_k8s_io_machine_pool_v1beta1_manifest.md +++ b/docs/data-sources/cluster_x_k8s_io_machine_pool_v1beta1_manifest.md @@ -114,7 +114,7 @@ Optional: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ @@ -129,7 +129,7 @@ Optional: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ diff --git a/docs/data-sources/cluster_x_k8s_io_machine_set_v1alpha3_manifest.md b/docs/data-sources/cluster_x_k8s_io_machine_set_v1alpha3_manifest.md index 0bef2a8d5..17c172011 100644 --- a/docs/data-sources/cluster_x_k8s_io_machine_set_v1alpha3_manifest.md +++ b/docs/data-sources/cluster_x_k8s_io_machine_set_v1alpha3_manifest.md @@ -155,7 +155,7 @@ Optional: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ @@ -170,7 +170,7 @@ Optional: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ diff --git a/docs/data-sources/cluster_x_k8s_io_machine_set_v1alpha4_manifest.md b/docs/data-sources/cluster_x_k8s_io_machine_set_v1alpha4_manifest.md index e3a39d743..f49995ffc 100644 --- a/docs/data-sources/cluster_x_k8s_io_machine_set_v1alpha4_manifest.md +++ b/docs/data-sources/cluster_x_k8s_io_machine_set_v1alpha4_manifest.md @@ -134,7 +134,7 @@ Optional: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ @@ -149,7 +149,7 @@ Optional: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ diff --git a/docs/data-sources/cluster_x_k8s_io_machine_set_v1beta1_manifest.md b/docs/data-sources/cluster_x_k8s_io_machine_set_v1beta1_manifest.md index 40fd33fe2..550209e66 100644 --- a/docs/data-sources/cluster_x_k8s_io_machine_set_v1beta1_manifest.md +++ b/docs/data-sources/cluster_x_k8s_io_machine_set_v1beta1_manifest.md @@ -136,7 +136,7 @@ Optional: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ @@ -151,7 +151,7 @@ Optional: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ diff --git a/docs/data-sources/cluster_x_k8s_io_machine_v1alpha3_manifest.md b/docs/data-sources/cluster_x_k8s_io_machine_v1alpha3_manifest.md index 0b37f37df..defc6ad17 100644 --- a/docs/data-sources/cluster_x_k8s_io_machine_v1alpha3_manifest.md +++ b/docs/data-sources/cluster_x_k8s_io_machine_v1alpha3_manifest.md @@ -81,7 +81,7 @@ Optional: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ @@ -96,7 +96,7 @@ Optional: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ diff --git a/docs/data-sources/cluster_x_k8s_io_machine_v1alpha4_manifest.md b/docs/data-sources/cluster_x_k8s_io_machine_v1alpha4_manifest.md index 54b37011c..8df9443df 100644 --- a/docs/data-sources/cluster_x_k8s_io_machine_v1alpha4_manifest.md +++ b/docs/data-sources/cluster_x_k8s_io_machine_v1alpha4_manifest.md @@ -80,7 +80,7 @@ Optional: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ @@ -95,7 +95,7 @@ Optional: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ diff --git a/docs/data-sources/cluster_x_k8s_io_machine_v1beta1_manifest.md b/docs/data-sources/cluster_x_k8s_io_machine_v1beta1_manifest.md index be25918d2..234ae6b79 100644 --- a/docs/data-sources/cluster_x_k8s_io_machine_v1beta1_manifest.md +++ b/docs/data-sources/cluster_x_k8s_io_machine_v1beta1_manifest.md @@ -82,7 +82,7 @@ Optional: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ @@ -97,7 +97,7 @@ Optional: Optional: - `api_version` (String) API version of the referent. -- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future. +- `field_path` (String) If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object. - `kind` (String) Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - `namespace` (String) Namespace of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ diff --git a/docs/data-sources/dataprotection_kubeblocks_io_backup_policy_v1alpha1_manifest.md b/docs/data-sources/dataprotection_kubeblocks_io_backup_policy_v1alpha1_manifest.md index 96648254f..47a1b01ec 100644 --- a/docs/data-sources/dataprotection_kubeblocks_io_backup_policy_v1alpha1_manifest.md +++ b/docs/data-sources/dataprotection_kubeblocks_io_backup_policy_v1alpha1_manifest.md @@ -191,6 +191,7 @@ Required: Optional: - `connection_credential` (Attributes) Specifies the connection credential to connect to the target database cluster. (see [below for nested schema](#nestedatt--spec--backup_methods--target--connection_credential)) +- `container_port` (Attributes) Specifies the container port in the target pod.If not specified, the first container and its first port will be used. (see [below for nested schema](#nestedatt--spec--backup_methods--target--container_port)) - `name` (String) Specifies a mandatory and unique identifier for each target when using the 'targets' field.The backup data for the current target is stored in a uniquely named subdirectory. - `pod_selector` (Attributes) Used to find the target pod. The volumes of the target pod will be backed up. (see [below for nested schema](#nestedatt--spec--backup_methods--target--pod_selector)) - `resources` (Attributes) Specifies the kubernetes resources to back up. (see [below for nested schema](#nestedatt--spec--backup_methods--target--resources)) @@ -211,6 +212,15 @@ Optional: - `username_key` (String) Specifies the map key of the user in the connection credential secret. + +### Nested Schema for `spec.backup_methods.target.container_port` + +Optional: + +- `container_name` (String) Specifies the name of container with the port. +- `port_name` (String) Specifies the port name. + + ### Nested Schema for `spec.backup_methods.target.pod_selector` @@ -321,6 +331,7 @@ Optional: Optional: - `connection_credential` (Attributes) Specifies the connection credential to connect to the target database cluster. (see [below for nested schema](#nestedatt--spec--backup_methods--targets--connection_credential)) +- `container_port` (Attributes) Specifies the container port in the target pod.If not specified, the first container and its first port will be used. (see [below for nested schema](#nestedatt--spec--backup_methods--targets--container_port)) - `name` (String) Specifies a mandatory and unique identifier for each target when using the 'targets' field.The backup data for the current target is stored in a uniquely named subdirectory. - `pod_selector` (Attributes) Used to find the target pod. The volumes of the target pod will be backed up. (see [below for nested schema](#nestedatt--spec--backup_methods--targets--pod_selector)) - `resources` (Attributes) Specifies the kubernetes resources to back up. (see [below for nested schema](#nestedatt--spec--backup_methods--targets--resources)) @@ -341,6 +352,15 @@ Optional: - `username_key` (String) Specifies the map key of the user in the connection credential secret. + +### Nested Schema for `spec.backup_methods.targets.container_port` + +Optional: + +- `container_name` (String) Specifies the name of container with the port. +- `port_name` (String) Specifies the port name. + + ### Nested Schema for `spec.backup_methods.targets.pod_selector` @@ -449,6 +469,7 @@ Optional: Optional: - `connection_credential` (Attributes) Specifies the connection credential to connect to the target database cluster. (see [below for nested schema](#nestedatt--spec--target--connection_credential)) +- `container_port` (Attributes) Specifies the container port in the target pod.If not specified, the first container and its first port will be used. (see [below for nested schema](#nestedatt--spec--target--container_port)) - `name` (String) Specifies a mandatory and unique identifier for each target when using the 'targets' field.The backup data for the current target is stored in a uniquely named subdirectory. - `pod_selector` (Attributes) Used to find the target pod. The volumes of the target pod will be backed up. (see [below for nested schema](#nestedatt--spec--target--pod_selector)) - `resources` (Attributes) Specifies the kubernetes resources to back up. (see [below for nested schema](#nestedatt--spec--target--resources)) @@ -469,6 +490,15 @@ Optional: - `username_key` (String) Specifies the map key of the user in the connection credential secret. + +### Nested Schema for `spec.target.container_port` + +Optional: + +- `container_name` (String) Specifies the name of container with the port. +- `port_name` (String) Specifies the port name. + + ### Nested Schema for `spec.target.pod_selector` @@ -554,6 +584,7 @@ Optional: Optional: - `connection_credential` (Attributes) Specifies the connection credential to connect to the target database cluster. (see [below for nested schema](#nestedatt--spec--targets--connection_credential)) +- `container_port` (Attributes) Specifies the container port in the target pod.If not specified, the first container and its first port will be used. (see [below for nested schema](#nestedatt--spec--targets--container_port)) - `name` (String) Specifies a mandatory and unique identifier for each target when using the 'targets' field.The backup data for the current target is stored in a uniquely named subdirectory. - `pod_selector` (Attributes) Used to find the target pod. The volumes of the target pod will be backed up. (see [below for nested schema](#nestedatt--spec--targets--pod_selector)) - `resources` (Attributes) Specifies the kubernetes resources to back up. (see [below for nested schema](#nestedatt--spec--targets--resources)) @@ -574,6 +605,15 @@ Optional: - `username_key` (String) Specifies the map key of the user in the connection credential secret. + +### Nested Schema for `spec.targets.container_port` + +Optional: + +- `container_name` (String) Specifies the name of container with the port. +- `port_name` (String) Specifies the port name. + + ### Nested Schema for `spec.targets.pod_selector` diff --git a/docs/data-sources/fluentbit_fluent_io_cluster_fluent_bit_config_v1alpha2_manifest.md b/docs/data-sources/fluentbit_fluent_io_cluster_fluent_bit_config_v1alpha2_manifest.md index 762b44c9c..ecc4d1258 100644 --- a/docs/data-sources/fluentbit_fluent_io_cluster_fluent_bit_config_v1alpha2_manifest.md +++ b/docs/data-sources/fluentbit_fluent_io_cluster_fluent_bit_config_v1alpha2_manifest.md @@ -188,6 +188,7 @@ Optional: - `hc_period` (Number) The time period by second to count the error and retry failure data point - `hc_retry_failure_count` (Number) the retry failure count to meet the unhealthy requirement, this is a sum for all output plugins in a defined HC_Period, example for retry failure: [2022/02/16 20:11:36] [ warn] [engine] chunk '1-1645042288.260516436.flb' cannot be retried: task_id=0, input=tcp.3 > output=cloudwatch_logs.1 - `health_check` (Boolean) enable Health check feature at http://127.0.0.1:2020/api/v1/health Note: Enabling this will not automatically configure kubernetes to use fluentbit's healthcheck endpoint +- `hot_reload` (Boolean) If true enable reloading via HTTP - `http_listen` (String) Address to listen - `http_port` (Number) Port to listen - `http_server` (Boolean) If true enable statistics HTTP server diff --git a/docs/data-sources/fluentbit_fluent_io_fluent_bit_config_v1alpha2_manifest.md b/docs/data-sources/fluentbit_fluent_io_fluent_bit_config_v1alpha2_manifest.md index 6c90d0171..b8fdf920c 100644 --- a/docs/data-sources/fluentbit_fluent_io_fluent_bit_config_v1alpha2_manifest.md +++ b/docs/data-sources/fluentbit_fluent_io_fluent_bit_config_v1alpha2_manifest.md @@ -210,6 +210,7 @@ Optional: - `hc_period` (Number) The time period by second to count the error and retry failure data point - `hc_retry_failure_count` (Number) the retry failure count to meet the unhealthy requirement, this is a sum for all output plugins in a defined HC_Period, example for retry failure: [2022/02/16 20:11:36] [ warn] [engine] chunk '1-1645042288.260516436.flb' cannot be retried: task_id=0, input=tcp.3 > output=cloudwatch_logs.1 - `health_check` (Boolean) enable Health check feature at http://127.0.0.1:2020/api/v1/health Note: Enabling this will not automatically configure kubernetes to use fluentbit's healthcheck endpoint +- `hot_reload` (Boolean) If true enable reloading via HTTP - `http_listen` (String) Address to listen - `http_port` (Number) Port to listen - `http_server` (Boolean) If true enable statistics HTTP server diff --git a/docs/data-sources/gateway_solo_io_virtual_host_option_v1_manifest.md b/docs/data-sources/gateway_solo_io_virtual_host_option_v1_manifest.md index 81e2bf84e..555529df4 100644 --- a/docs/data-sources/gateway_solo_io_virtual_host_option_v1_manifest.md +++ b/docs/data-sources/gateway_solo_io_virtual_host_option_v1_manifest.md @@ -74,6 +74,7 @@ Optional: - `buffer_per_route` (Attributes) (see [below for nested schema](#nestedatt--spec--options--buffer_per_route)) - `cors` (Attributes) (see [below for nested schema](#nestedatt--spec--options--cors)) +- `cors_policy_merge_settings` (Attributes) (see [below for nested schema](#nestedatt--spec--options--cors_policy_merge_settings)) - `csrf` (Attributes) (see [below for nested schema](#nestedatt--spec--options--csrf)) - `dlp` (Attributes) (see [below for nested schema](#nestedatt--spec--options--dlp)) - `ext_proc` (Attributes) (see [below for nested schema](#nestedatt--spec--options--ext_proc)) @@ -130,6 +131,14 @@ Optional: - `max_age` (String) + +### Nested Schema for `spec.options.cors_policy_merge_settings` + +Optional: + +- `expose_headers` (String) + + ### Nested Schema for `spec.options.csrf` diff --git a/docs/data-sources/gateway_solo_io_virtual_service_v1_manifest.md b/docs/data-sources/gateway_solo_io_virtual_service_v1_manifest.md index 900632700..1f4c1a0d6 100644 --- a/docs/data-sources/gateway_solo_io_virtual_service_v1_manifest.md +++ b/docs/data-sources/gateway_solo_io_virtual_service_v1_manifest.md @@ -163,6 +163,7 @@ Optional: - `buffer_per_route` (Attributes) (see [below for nested schema](#nestedatt--spec--virtual_host--options--buffer_per_route)) - `cors` (Attributes) (see [below for nested schema](#nestedatt--spec--virtual_host--options--cors)) +- `cors_policy_merge_settings` (Attributes) (see [below for nested schema](#nestedatt--spec--virtual_host--options--cors_policy_merge_settings)) - `csrf` (Attributes) (see [below for nested schema](#nestedatt--spec--virtual_host--options--csrf)) - `dlp` (Attributes) (see [below for nested schema](#nestedatt--spec--virtual_host--options--dlp)) - `ext_proc` (Attributes) (see [below for nested schema](#nestedatt--spec--virtual_host--options--ext_proc)) @@ -219,6 +220,14 @@ Optional: - `max_age` (String) + +### Nested Schema for `spec.virtual_host.options.cors_policy_merge_settings` + +Optional: + +- `expose_headers` (String) + + ### Nested Schema for `spec.virtual_host.options.csrf` diff --git a/docs/data-sources/ipam_cluster_x_k8s_io_ip_address_v1alpha1_manifest.md b/docs/data-sources/ipam_cluster_x_k8s_io_ip_address_v1alpha1_manifest.md index cf542cafe..347eed01d 100644 --- a/docs/data-sources/ipam_cluster_x_k8s_io_ip_address_v1alpha1_manifest.md +++ b/docs/data-sources/ipam_cluster_x_k8s_io_ip_address_v1alpha1_manifest.md @@ -69,7 +69,7 @@ Optional: Optional: -- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names diff --git a/docs/data-sources/ipam_cluster_x_k8s_io_ip_address_v1beta1_manifest.md b/docs/data-sources/ipam_cluster_x_k8s_io_ip_address_v1beta1_manifest.md index ad6b7b165..beb4c9276 100644 --- a/docs/data-sources/ipam_cluster_x_k8s_io_ip_address_v1beta1_manifest.md +++ b/docs/data-sources/ipam_cluster_x_k8s_io_ip_address_v1beta1_manifest.md @@ -69,7 +69,7 @@ Optional: Optional: -- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names diff --git a/docs/data-sources/k8s_mariadb_com_backup_v1alpha1_manifest.md b/docs/data-sources/k8s_mariadb_com_backup_v1alpha1_manifest.md index 0ba256a2c..6068ede96 100644 --- a/docs/data-sources/k8s_mariadb_com_backup_v1alpha1_manifest.md +++ b/docs/data-sources/k8s_mariadb_com_backup_v1alpha1_manifest.md @@ -80,6 +80,7 @@ Optional: - `security_context` (Attributes) SecurityContext holds security configuration that will be applied to a container. (see [below for nested schema](#nestedatt--spec--security_context)) - `service_account_name` (String) ServiceAccountName is the name of the ServiceAccount to be used by the Pods. - `successful_jobs_history_limit` (Number) +- `time_zone` (String) - `tolerations` (Attributes List) Tolerations to be used in the Pod. (see [below for nested schema](#nestedatt--spec--tolerations)) diff --git a/docs/data-sources/k8s_mariadb_com_maria_db_v1alpha1_manifest.md b/docs/data-sources/k8s_mariadb_com_maria_db_v1alpha1_manifest.md index 95a338cc4..a27c53b28 100644 --- a/docs/data-sources/k8s_mariadb_com_maria_db_v1alpha1_manifest.md +++ b/docs/data-sources/k8s_mariadb_com_maria_db_v1alpha1_manifest.md @@ -84,6 +84,7 @@ Optional: - `priority_class_name` (String) PriorityClassName to be used in the Pod. - `readiness_probe` (Attributes) ReadinessProbe to be used in the Container. (see [below for nested schema](#nestedatt--spec--readiness_probe)) - `replicas` (Number) Replicas indicates the number of desired instances. +- `replicas_allow_even_number` (Boolean) disables the validation check for an odd number of replicas. - `replication` (Attributes) Replication configures high availability via replication. This feature is still in alpha, use Galera if you are looking for a more production-ready HA. (see [below for nested schema](#nestedatt--spec--replication)) - `resources` (Attributes) Resouces describes the compute resource requirements. (see [below for nested schema](#nestedatt--spec--resources)) - `root_empty_password` (Boolean) RootEmptyPassword indicates if the root password should be empty. Don't use this feature in production, it is only intended for development and test environments. @@ -1956,8 +1957,8 @@ Optional: - `config` (Attributes) GaleraConfig defines storage options for the Galera configuration files. (see [below for nested schema](#nestedatt--spec--galera--config)) - `enabled` (Boolean) Enabled is a flag to enable Galera. - `galera_lib_path` (String) GaleraLibPath is a path inside the MariaDB image to the wsrep provider plugin. It is defaulted if not provided.More info: https://galeracluster.com/library/documentation/mysql-wsrep-options.html#wsrep-provider. -- `init_container` (Attributes) InitContainer is an init container that co-operates with mariadb-operator. (see [below for nested schema](#nestedatt--spec--galera--init_container)) -- `init_job` (Attributes) InitJob defines additional properties for the Job used to perform the initialization. (see [below for nested schema](#nestedatt--spec--galera--init_job)) +- `init_container` (Attributes) InitContainer is an init container that runs in the MariaDB Pod and co-operates with mariadb-operator. (see [below for nested schema](#nestedatt--spec--galera--init_container)) +- `init_job` (Attributes) InitJob defines a Job that co-operates with mariadb-operator by performing initialization tasks. (see [below for nested schema](#nestedatt--spec--galera--init_job)) - `primary` (Attributes) Primary is the Galera configuration for the primary node. (see [below for nested schema](#nestedatt--spec--galera--primary)) - `provider_options` (Map of String) ProviderOptions is map of Galera configuration parameters.More info: https://mariadb.com/kb/en/galera-cluster-system-variables/#wsrep_provider_options. - `recovery` (Attributes) GaleraRecovery is the recovery process performed by the operator whenever the Galera cluster is not healthy.More info: https://galeracluster.com/library/documentation/crash-recovery.html. (see [below for nested schema](#nestedatt--spec--galera--recovery)) @@ -3264,7 +3265,7 @@ Optional: - `cluster_monitor_interval` (String) ClusterMonitorInterval represents the interval used to monitor the Galera cluster health. - `enabled` (Boolean) Enabled is a flag to enable GaleraRecovery. - `force_cluster_bootstrap_in_pod` (String) ForceClusterBootstrapInPod allows you to manually initiate the bootstrap process in a specific Pod.IMPORTANT: Use this option only in exceptional circumstances. Not selecting the Pod with the highest sequence number may result in data loss.IMPORTANT: Ensure you unset this field after completing the bootstrap to allow the operator to choose the appropriate Pod to bootstrap from in an event of cluster recovery. -- `job` (Attributes) Job allows configuration of the Galera recovery Job, which is used to recover the Galera cluster. (see [below for nested schema](#nestedatt--spec--galera--recovery--job)) +- `job` (Attributes) Job defines a Job that co-operates with mariadb-operator by performing the Galera cluster recovery . (see [below for nested schema](#nestedatt--spec--galera--recovery--job)) - `min_cluster_size` (String) MinClusterSize is the minimum number of replicas to consider the cluster healthy. It can be either a number of replicas (3) or a percentage (50%).If Galera consistently reports less replicas than this value for the given 'ClusterHealthyTimeout' interval, a cluster recovery is iniated.It defaults to '50%' of the replicas specified by the MariaDB object. - `pod_recovery_timeout` (String) PodRecoveryTimeout is the time limit for recevorying the sequence of a Pod during the cluster recovery. - `pod_sync_timeout` (String) PodSyncTimeout is the time limit for a Pod to join the cluster after having performed a cluster bootstrap during the cluster recovery. diff --git a/docs/data-sources/k8s_mariadb_com_sql_job_v1alpha1_manifest.md b/docs/data-sources/k8s_mariadb_com_sql_job_v1alpha1_manifest.md index 339764a0f..724dfad6b 100644 --- a/docs/data-sources/k8s_mariadb_com_sql_job_v1alpha1_manifest.md +++ b/docs/data-sources/k8s_mariadb_com_sql_job_v1alpha1_manifest.md @@ -81,6 +81,7 @@ Optional: - `sql` (String) Sql is the script to be executed by the SqlJob. - `sql_config_map_key_ref` (Attributes) SqlConfigMapKeyRef is a reference to a ConfigMap containing the Sql script.It is defaulted to a ConfigMap with the contents of the Sql field. (see [below for nested schema](#nestedatt--spec--sql_config_map_key_ref)) - `successful_jobs_history_limit` (Number) +- `time_zone` (String) - `tolerations` (Attributes List) Tolerations to be used in the Pod. (see [below for nested schema](#nestedatt--spec--tolerations)) diff --git a/docs/data-sources/kiali_io_kiali_v1alpha1_manifest.md b/docs/data-sources/kiali_io_kiali_v1alpha1_manifest.md index 8c676cb14..66b9e39cf 100644 --- a/docs/data-sources/kiali_io_kiali_v1alpha1_manifest.md +++ b/docs/data-sources/kiali_io_kiali_v1alpha1_manifest.md @@ -71,7 +71,7 @@ Optional: - `kubernetes_config` (Attributes) Configuration of Kiali's access of the Kubernetes API. (see [below for nested schema](#nestedatt--spec--kubernetes_config)) - `login_token` (Attributes) (see [below for nested schema](#nestedatt--spec--login_token)) - `server` (Attributes) Configuration that controls some core components within the Kiali Server. (see [below for nested schema](#nestedatt--spec--server)) -- `version` (String) The version of the Ansible playbook to execute in order to install that version of Kiali.It is rare you will want to set this - if you are thinking of setting this, know what you are doing first.The only supported value today is 'default'.If not specified, a default version of Kiali will be installed which will be the most recent release of Kiali.Refer to this file to see where these values are defined in the master branch,https://github.com/kiali/kiali-operator/blob/master/playbooks/kiali-default-supported-images.ymlThis version setting affects the defaults of the deployment.image_name anddeployment.image_version settings. See the comments for those settingsbelow for additional details. But in short, this version setting willdictate which version of the Kiali image will be deployed by default.Note that if you explicitly set deployment.image_name and/ordeployment.image_version you are responsible for ensuring those settingsare compatible with this setting (i.e. the Kiali image must be compatiblewith the rest of the configuration and resources the operator will install). +- `version` (String) The version of the Ansible role that will be executed in order to install Kiali.This also indirectly determines the version of Kiali that will be installed.You normally will want to use 'default' since this is the only officially supported value today.If not specified, the value of 'default' is assumed which means the most recent Ansible role is used;thus the most recent release of Kiali will be installed.Refer to this file to see what the valid values are for this 'version' field (as defined in the master branch),https://github.com/kiali/kiali-operator/blob/master/playbooks/kiali-default-supported-images.ymlThis 'version' setting affects the defaults of the 'deployment.image_name' and'deployment.image_version' settings. See the documentation for those settings below foradditional details. In short, this 'version' setting will dictate which version of theKiali image will be deployed by default. However, if you explicitly set 'deployment.image_name'and/or 'deployment.image_version' to reference your own custom image, that will override thedefault Kiali image to be installed; therefore, you are responsible for ensuring those settingsare compatible with the Ansible role that will be executed in order to install Kiali (i.e. yourcustom Kiali image must be compatible with the rest of the configuration and resources theoperator will install). ### Nested Schema for `spec.additional_display_details` diff --git a/docs/data-sources/kuadrant_io_kuadrant_v1beta1_manifest.md b/docs/data-sources/kuadrant_io_kuadrant_v1beta1_manifest.md index 31dc62f58..baefad215 100644 --- a/docs/data-sources/kuadrant_io_kuadrant_v1beta1_manifest.md +++ b/docs/data-sources/kuadrant_io_kuadrant_v1beta1_manifest.md @@ -30,7 +30,7 @@ data "k8s_kuadrant_io_kuadrant_v1beta1_manifest" "example" { ### Optional -- `spec` (Attributes) KuadrantSpec defines the desired state of Kuadrant (see [below for nested schema](#nestedatt--spec)) +- `spec` (Map of String) KuadrantSpec defines the desired state of Kuadrant ### Read-Only @@ -48,512 +48,3 @@ Optional: - `annotations` (Map of String) Keys and values that can be used by external tooling to store and retrieve arbitrary metadata about this object. See https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ for more details. - `labels` (Map of String) Keys and values that can be used to organize and categorize objects. See https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ for more details. - - - -### Nested Schema for `spec` - -Optional: - -- `limitador` (Attributes) (see [below for nested schema](#nestedatt--spec--limitador)) - - -### Nested Schema for `spec.limitador` - -Optional: - -- `affinity` (Attributes) Affinity is a group of affinity scheduling rules. (see [below for nested schema](#nestedatt--spec--limitador--affinity)) -- `pdb` (Attributes) (see [below for nested schema](#nestedatt--spec--limitador--pdb)) -- `rate_limit_headers` (String) RateLimitHeadersType defines the valid options for the --rate-limit-headers arg -- `replicas` (Number) -- `resource_requirements` (Attributes) ResourceRequirements describes the compute resource requirements. (see [below for nested schema](#nestedatt--spec--limitador--resource_requirements)) -- `storage` (Attributes) Storage contains the options for Limitador counters database or in-memory data storage (see [below for nested schema](#nestedatt--spec--limitador--storage)) -- `telemetry` (String) Telemetry defines the level of metrics Limitador will expose to the user -- `verbosity` (Number) Sets the level of verbosity - - -### Nested Schema for `spec.limitador.affinity` - -Optional: - -- `node_affinity` (Attributes) Describes node affinity scheduling rules for the pod. (see [below for nested schema](#nestedatt--spec--limitador--affinity--node_affinity)) -- `pod_affinity` (Attributes) Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). (see [below for nested schema](#nestedatt--spec--limitador--affinity--pod_affinity)) -- `pod_anti_affinity` (Attributes) Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). (see [below for nested schema](#nestedatt--spec--limitador--affinity--pod_anti_affinity)) - - -### Nested Schema for `spec.limitador.affinity.node_affinity` - -Optional: - -- `preferred_during_scheduling_ignored_during_execution` (Attributes List) The scheduler will prefer to schedule pods to nodes that satisfythe affinity expressions specified by this field, but it may choosea node that violates one or more of the expressions. The node that ismost preferred is the one with the greatest sum of weights, i.e.for each node that meets all of the scheduling requirements (resourcerequest, requiredDuringScheduling affinity expressions, etc.),compute a sum by iterating through the elements of this field and adding'weight' to the sum if the node matches the corresponding matchExpressions; thenode(s) with the highest sum are the most preferred. (see [below for nested schema](#nestedatt--spec--limitador--affinity--node_affinity--preferred_during_scheduling_ignored_during_execution)) -- `required_during_scheduling_ignored_during_execution` (Attributes) If the affinity requirements specified by this field are not met atscheduling time, the pod will not be scheduled onto the node.If the affinity requirements specified by this field cease to be metat some point during pod execution (e.g. due to an update), the systemmay or may not try to eventually evict the pod from its node. (see [below for nested schema](#nestedatt--spec--limitador--affinity--node_affinity--required_during_scheduling_ignored_during_execution)) - - -### Nested Schema for `spec.limitador.affinity.node_affinity.preferred_during_scheduling_ignored_during_execution` - -Required: - -- `preference` (Attributes) A node selector term, associated with the corresponding weight. (see [below for nested schema](#nestedatt--spec--limitador--affinity--node_affinity--preferred_during_scheduling_ignored_during_execution--preference)) -- `weight` (Number) Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. - - -### Nested Schema for `spec.limitador.affinity.node_affinity.preferred_during_scheduling_ignored_during_execution.preference` - -Optional: - -- `match_expressions` (Attributes List) A list of node selector requirements by node's labels. (see [below for nested schema](#nestedatt--spec--limitador--affinity--node_affinity--preferred_during_scheduling_ignored_during_execution--preference--match_expressions)) -- `match_fields` (Attributes List) A list of node selector requirements by node's fields. (see [below for nested schema](#nestedatt--spec--limitador--affinity--node_affinity--preferred_during_scheduling_ignored_during_execution--preference--match_fields)) - - -### Nested Schema for `spec.limitador.affinity.node_affinity.preferred_during_scheduling_ignored_during_execution.preference.match_expressions` - -Required: - -- `key` (String) The label key that the selector applies to. -- `operator` (String) Represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. - -Optional: - -- `values` (List of String) 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. If the operator is Gt or Lt, the valuesarray must have a single element, which will be interpreted as an integer.This array is replaced during a strategic merge patch. - - - -### Nested Schema for `spec.limitador.affinity.node_affinity.preferred_during_scheduling_ignored_during_execution.preference.match_fields` - -Required: - -- `key` (String) The label key that the selector applies to. -- `operator` (String) Represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. - -Optional: - -- `values` (List of String) 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. If the operator is Gt or Lt, the valuesarray must have a single element, which will be interpreted as an integer.This array is replaced during a strategic merge patch. - - - - - -### Nested Schema for `spec.limitador.affinity.node_affinity.required_during_scheduling_ignored_during_execution` - -Required: - -- `node_selector_terms` (Attributes List) Required. A list of node selector terms. The terms are ORed. (see [below for nested schema](#nestedatt--spec--limitador--affinity--node_affinity--required_during_scheduling_ignored_during_execution--node_selector_terms)) - - -### Nested Schema for `spec.limitador.affinity.node_affinity.required_during_scheduling_ignored_during_execution.node_selector_terms` - -Optional: - -- `match_expressions` (Attributes List) A list of node selector requirements by node's labels. (see [below for nested schema](#nestedatt--spec--limitador--affinity--node_affinity--required_during_scheduling_ignored_during_execution--node_selector_terms--match_expressions)) -- `match_fields` (Attributes List) A list of node selector requirements by node's fields. (see [below for nested schema](#nestedatt--spec--limitador--affinity--node_affinity--required_during_scheduling_ignored_during_execution--node_selector_terms--match_fields)) - - -### Nested Schema for `spec.limitador.affinity.node_affinity.required_during_scheduling_ignored_during_execution.node_selector_terms.match_expressions` - -Required: - -- `key` (String) The label key that the selector applies to. -- `operator` (String) Represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. - -Optional: - -- `values` (List of String) 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. If the operator is Gt or Lt, the valuesarray must have a single element, which will be interpreted as an integer.This array is replaced during a strategic merge patch. - - - -### Nested Schema for `spec.limitador.affinity.node_affinity.required_during_scheduling_ignored_during_execution.node_selector_terms.match_fields` - -Required: - -- `key` (String) The label key that the selector applies to. -- `operator` (String) Represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. - -Optional: - -- `values` (List of String) 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. If the operator is Gt or Lt, the valuesarray must have a single element, which will be interpreted as an integer.This array is replaced during a strategic merge patch. - - - - - - -### Nested Schema for `spec.limitador.affinity.pod_affinity` - -Optional: - -- `preferred_during_scheduling_ignored_during_execution` (Attributes List) The scheduler will prefer to schedule pods to nodes that satisfythe affinity expressions specified by this field, but it may choosea node that violates one or more of the expressions. The node that ismost preferred is the one with the greatest sum of weights, i.e.for each node that meets all of the scheduling requirements (resourcerequest, requiredDuringScheduling affinity expressions, etc.),compute a sum by iterating through the elements of this field and adding'weight' to the sum if the node has pods which matches the corresponding podAffinityTerm; thenode(s) with the highest sum are the most preferred. (see [below for nested schema](#nestedatt--spec--limitador--affinity--pod_affinity--preferred_during_scheduling_ignored_during_execution)) -- `required_during_scheduling_ignored_during_execution` (Attributes List) If the affinity requirements specified by this field are not met atscheduling time, the pod will not be scheduled onto the node.If the affinity requirements specified by this field cease to be metat some point during pod execution (e.g. due to a pod label update), thesystem may or may not try to eventually evict the pod from its node.When there are multiple elements, the lists of nodes corresponding to eachpodAffinityTerm are intersected, i.e. all terms must be satisfied. (see [below for nested schema](#nestedatt--spec--limitador--affinity--pod_affinity--required_during_scheduling_ignored_during_execution)) - - -### Nested Schema for `spec.limitador.affinity.pod_affinity.preferred_during_scheduling_ignored_during_execution` - -Required: - -- `pod_affinity_term` (Attributes) Required. A pod affinity term, associated with the corresponding weight. (see [below for nested schema](#nestedatt--spec--limitador--affinity--pod_affinity--preferred_during_scheduling_ignored_during_execution--pod_affinity_term)) -- `weight` (Number) weight associated with matching the corresponding podAffinityTerm,in the range 1-100. - - -### Nested Schema for `spec.limitador.affinity.pod_affinity.preferred_during_scheduling_ignored_during_execution.pod_affinity_term` - -Required: - -- `topology_key` (String) This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matchingthe labelSelector in the specified namespaces, where co-located is defined as running on a nodewhose value of the label with key topologyKey matches that of any node on which any of theselected pods is running.Empty topologyKey is not allowed. - -Optional: - -- `label_selector` (Attributes) A label query over a set of resources, in this case pods.If it's null, this PodAffinityTerm matches with no Pods. (see [below for nested schema](#nestedatt--spec--limitador--affinity--pod_affinity--preferred_during_scheduling_ignored_during_execution--pod_affinity_term--label_selector)) -- `match_label_keys` (List of String) MatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both matchLabelKeys and labelSelector.Also, matchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. -- `mismatch_label_keys` (List of String) MismatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.Also, mismatchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. -- `namespace_selector` (Attributes) A label query over the set of namespaces that the term applies to.The term is applied to the union of the namespaces selected by this fieldand the ones listed in the namespaces field.null selector and null or empty namespaces list means 'this pod's namespace'.An empty selector ({}) matches all namespaces. (see [below for nested schema](#nestedatt--spec--limitador--affinity--pod_affinity--preferred_during_scheduling_ignored_during_execution--pod_affinity_term--namespace_selector)) -- `namespaces` (List of String) namespaces specifies a static list of namespace names that the term applies to.The term is applied to the union of the namespaces listed in this fieldand the ones selected by namespaceSelector.null or empty namespaces list and null namespaceSelector means 'this pod's namespace'. - - -### Nested Schema for `spec.limitador.affinity.pod_affinity.preferred_during_scheduling_ignored_during_execution.pod_affinity_term.label_selector` - -Optional: - -- `match_expressions` (Attributes List) matchExpressions is a list of label selector requirements. The requirements are ANDed. (see [below for nested schema](#nestedatt--spec--limitador--affinity--pod_affinity--preferred_during_scheduling_ignored_during_execution--pod_affinity_term--label_selector--match_expressions)) -- `match_labels` (Map of String) matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabelsmap is equivalent to an element of matchExpressions, whose key field is 'key', theoperator is 'In', and the values array contains only 'value'. The requirements are ANDed. - - -### Nested Schema for `spec.limitador.affinity.pod_affinity.preferred_during_scheduling_ignored_during_execution.pod_affinity_term.label_selector.match_expressions` - -Required: - -- `key` (String) key is the label key that the selector applies to. -- `operator` (String) operator represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists and DoesNotExist. - -Optional: - -- `values` (List of String) 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. This array is replaced during a strategicmerge patch. - - - - -### Nested Schema for `spec.limitador.affinity.pod_affinity.preferred_during_scheduling_ignored_during_execution.pod_affinity_term.namespace_selector` - -Optional: - -- `match_expressions` (Attributes List) matchExpressions is a list of label selector requirements. The requirements are ANDed. (see [below for nested schema](#nestedatt--spec--limitador--affinity--pod_affinity--preferred_during_scheduling_ignored_during_execution--pod_affinity_term--namespace_selector--match_expressions)) -- `match_labels` (Map of String) matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabelsmap is equivalent to an element of matchExpressions, whose key field is 'key', theoperator is 'In', and the values array contains only 'value'. The requirements are ANDed. - - -### Nested Schema for `spec.limitador.affinity.pod_affinity.preferred_during_scheduling_ignored_during_execution.pod_affinity_term.namespace_selector.match_expressions` - -Required: - -- `key` (String) key is the label key that the selector applies to. -- `operator` (String) operator represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists and DoesNotExist. - -Optional: - -- `values` (List of String) 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. This array is replaced during a strategicmerge patch. - - - - - - -### Nested Schema for `spec.limitador.affinity.pod_affinity.required_during_scheduling_ignored_during_execution` - -Required: - -- `topology_key` (String) This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matchingthe labelSelector in the specified namespaces, where co-located is defined as running on a nodewhose value of the label with key topologyKey matches that of any node on which any of theselected pods is running.Empty topologyKey is not allowed. - -Optional: - -- `label_selector` (Attributes) A label query over a set of resources, in this case pods.If it's null, this PodAffinityTerm matches with no Pods. (see [below for nested schema](#nestedatt--spec--limitador--affinity--pod_affinity--required_during_scheduling_ignored_during_execution--label_selector)) -- `match_label_keys` (List of String) MatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both matchLabelKeys and labelSelector.Also, matchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. -- `mismatch_label_keys` (List of String) MismatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.Also, mismatchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. -- `namespace_selector` (Attributes) A label query over the set of namespaces that the term applies to.The term is applied to the union of the namespaces selected by this fieldand the ones listed in the namespaces field.null selector and null or empty namespaces list means 'this pod's namespace'.An empty selector ({}) matches all namespaces. (see [below for nested schema](#nestedatt--spec--limitador--affinity--pod_affinity--required_during_scheduling_ignored_during_execution--namespace_selector)) -- `namespaces` (List of String) namespaces specifies a static list of namespace names that the term applies to.The term is applied to the union of the namespaces listed in this fieldand the ones selected by namespaceSelector.null or empty namespaces list and null namespaceSelector means 'this pod's namespace'. - - -### Nested Schema for `spec.limitador.affinity.pod_affinity.required_during_scheduling_ignored_during_execution.label_selector` - -Optional: - -- `match_expressions` (Attributes List) matchExpressions is a list of label selector requirements. The requirements are ANDed. (see [below for nested schema](#nestedatt--spec--limitador--affinity--pod_affinity--required_during_scheduling_ignored_during_execution--label_selector--match_expressions)) -- `match_labels` (Map of String) matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabelsmap is equivalent to an element of matchExpressions, whose key field is 'key', theoperator is 'In', and the values array contains only 'value'. The requirements are ANDed. - - -### Nested Schema for `spec.limitador.affinity.pod_affinity.required_during_scheduling_ignored_during_execution.label_selector.match_expressions` - -Required: - -- `key` (String) key is the label key that the selector applies to. -- `operator` (String) operator represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists and DoesNotExist. - -Optional: - -- `values` (List of String) 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. This array is replaced during a strategicmerge patch. - - - - -### Nested Schema for `spec.limitador.affinity.pod_affinity.required_during_scheduling_ignored_during_execution.namespace_selector` - -Optional: - -- `match_expressions` (Attributes List) matchExpressions is a list of label selector requirements. The requirements are ANDed. (see [below for nested schema](#nestedatt--spec--limitador--affinity--pod_affinity--required_during_scheduling_ignored_during_execution--namespace_selector--match_expressions)) -- `match_labels` (Map of String) matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabelsmap is equivalent to an element of matchExpressions, whose key field is 'key', theoperator is 'In', and the values array contains only 'value'. The requirements are ANDed. - - -### Nested Schema for `spec.limitador.affinity.pod_affinity.required_during_scheduling_ignored_during_execution.namespace_selector.match_expressions` - -Required: - -- `key` (String) key is the label key that the selector applies to. -- `operator` (String) operator represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists and DoesNotExist. - -Optional: - -- `values` (List of String) 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. This array is replaced during a strategicmerge patch. - - - - - - -### Nested Schema for `spec.limitador.affinity.pod_anti_affinity` - -Optional: - -- `preferred_during_scheduling_ignored_during_execution` (Attributes List) The scheduler will prefer to schedule pods to nodes that satisfythe anti-affinity expressions specified by this field, but it may choosea node that violates one or more of the expressions. The node that ismost preferred is the one with the greatest sum of weights, i.e.for each node that meets all of the scheduling requirements (resourcerequest, requiredDuringScheduling anti-affinity expressions, etc.),compute a sum by iterating through the elements of this field and adding'weight' to the sum if the node has pods which matches the corresponding podAffinityTerm; thenode(s) with the highest sum are the most preferred. (see [below for nested schema](#nestedatt--spec--limitador--affinity--pod_anti_affinity--preferred_during_scheduling_ignored_during_execution)) -- `required_during_scheduling_ignored_during_execution` (Attributes List) If the anti-affinity requirements specified by this field are not met atscheduling time, the pod will not be scheduled onto the node.If the anti-affinity requirements specified by this field cease to be metat some point during pod execution (e.g. due to a pod label update), thesystem may or may not try to eventually evict the pod from its node.When there are multiple elements, the lists of nodes corresponding to eachpodAffinityTerm are intersected, i.e. all terms must be satisfied. (see [below for nested schema](#nestedatt--spec--limitador--affinity--pod_anti_affinity--required_during_scheduling_ignored_during_execution)) - - -### Nested Schema for `spec.limitador.affinity.pod_anti_affinity.preferred_during_scheduling_ignored_during_execution` - -Required: - -- `pod_affinity_term` (Attributes) Required. A pod affinity term, associated with the corresponding weight. (see [below for nested schema](#nestedatt--spec--limitador--affinity--pod_anti_affinity--preferred_during_scheduling_ignored_during_execution--pod_affinity_term)) -- `weight` (Number) weight associated with matching the corresponding podAffinityTerm,in the range 1-100. - - -### Nested Schema for `spec.limitador.affinity.pod_anti_affinity.preferred_during_scheduling_ignored_during_execution.pod_affinity_term` - -Required: - -- `topology_key` (String) This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matchingthe labelSelector in the specified namespaces, where co-located is defined as running on a nodewhose value of the label with key topologyKey matches that of any node on which any of theselected pods is running.Empty topologyKey is not allowed. - -Optional: - -- `label_selector` (Attributes) A label query over a set of resources, in this case pods.If it's null, this PodAffinityTerm matches with no Pods. (see [below for nested schema](#nestedatt--spec--limitador--affinity--pod_anti_affinity--preferred_during_scheduling_ignored_during_execution--pod_affinity_term--label_selector)) -- `match_label_keys` (List of String) MatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both matchLabelKeys and labelSelector.Also, matchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. -- `mismatch_label_keys` (List of String) MismatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.Also, mismatchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. -- `namespace_selector` (Attributes) A label query over the set of namespaces that the term applies to.The term is applied to the union of the namespaces selected by this fieldand the ones listed in the namespaces field.null selector and null or empty namespaces list means 'this pod's namespace'.An empty selector ({}) matches all namespaces. (see [below for nested schema](#nestedatt--spec--limitador--affinity--pod_anti_affinity--preferred_during_scheduling_ignored_during_execution--pod_affinity_term--namespace_selector)) -- `namespaces` (List of String) namespaces specifies a static list of namespace names that the term applies to.The term is applied to the union of the namespaces listed in this fieldand the ones selected by namespaceSelector.null or empty namespaces list and null namespaceSelector means 'this pod's namespace'. - - -### Nested Schema for `spec.limitador.affinity.pod_anti_affinity.preferred_during_scheduling_ignored_during_execution.pod_affinity_term.label_selector` - -Optional: - -- `match_expressions` (Attributes List) matchExpressions is a list of label selector requirements. The requirements are ANDed. (see [below for nested schema](#nestedatt--spec--limitador--affinity--pod_anti_affinity--preferred_during_scheduling_ignored_during_execution--pod_affinity_term--label_selector--match_expressions)) -- `match_labels` (Map of String) matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabelsmap is equivalent to an element of matchExpressions, whose key field is 'key', theoperator is 'In', and the values array contains only 'value'. The requirements are ANDed. - - -### Nested Schema for `spec.limitador.affinity.pod_anti_affinity.preferred_during_scheduling_ignored_during_execution.pod_affinity_term.label_selector.match_expressions` - -Required: - -- `key` (String) key is the label key that the selector applies to. -- `operator` (String) operator represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists and DoesNotExist. - -Optional: - -- `values` (List of String) 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. This array is replaced during a strategicmerge patch. - - - - -### Nested Schema for `spec.limitador.affinity.pod_anti_affinity.preferred_during_scheduling_ignored_during_execution.pod_affinity_term.namespace_selector` - -Optional: - -- `match_expressions` (Attributes List) matchExpressions is a list of label selector requirements. The requirements are ANDed. (see [below for nested schema](#nestedatt--spec--limitador--affinity--pod_anti_affinity--preferred_during_scheduling_ignored_during_execution--pod_affinity_term--namespace_selector--match_expressions)) -- `match_labels` (Map of String) matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabelsmap is equivalent to an element of matchExpressions, whose key field is 'key', theoperator is 'In', and the values array contains only 'value'. The requirements are ANDed. - - -### Nested Schema for `spec.limitador.affinity.pod_anti_affinity.preferred_during_scheduling_ignored_during_execution.pod_affinity_term.namespace_selector.match_expressions` - -Required: - -- `key` (String) key is the label key that the selector applies to. -- `operator` (String) operator represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists and DoesNotExist. - -Optional: - -- `values` (List of String) 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. This array is replaced during a strategicmerge patch. - - - - - - -### Nested Schema for `spec.limitador.affinity.pod_anti_affinity.required_during_scheduling_ignored_during_execution` - -Required: - -- `topology_key` (String) This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matchingthe labelSelector in the specified namespaces, where co-located is defined as running on a nodewhose value of the label with key topologyKey matches that of any node on which any of theselected pods is running.Empty topologyKey is not allowed. - -Optional: - -- `label_selector` (Attributes) A label query over a set of resources, in this case pods.If it's null, this PodAffinityTerm matches with no Pods. (see [below for nested schema](#nestedatt--spec--limitador--affinity--pod_anti_affinity--required_during_scheduling_ignored_during_execution--label_selector)) -- `match_label_keys` (List of String) MatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both matchLabelKeys and labelSelector.Also, matchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. -- `mismatch_label_keys` (List of String) MismatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.Also, mismatchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. -- `namespace_selector` (Attributes) A label query over the set of namespaces that the term applies to.The term is applied to the union of the namespaces selected by this fieldand the ones listed in the namespaces field.null selector and null or empty namespaces list means 'this pod's namespace'.An empty selector ({}) matches all namespaces. (see [below for nested schema](#nestedatt--spec--limitador--affinity--pod_anti_affinity--required_during_scheduling_ignored_during_execution--namespace_selector)) -- `namespaces` (List of String) namespaces specifies a static list of namespace names that the term applies to.The term is applied to the union of the namespaces listed in this fieldand the ones selected by namespaceSelector.null or empty namespaces list and null namespaceSelector means 'this pod's namespace'. - - -### Nested Schema for `spec.limitador.affinity.pod_anti_affinity.required_during_scheduling_ignored_during_execution.label_selector` - -Optional: - -- `match_expressions` (Attributes List) matchExpressions is a list of label selector requirements. The requirements are ANDed. (see [below for nested schema](#nestedatt--spec--limitador--affinity--pod_anti_affinity--required_during_scheduling_ignored_during_execution--label_selector--match_expressions)) -- `match_labels` (Map of String) matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabelsmap is equivalent to an element of matchExpressions, whose key field is 'key', theoperator is 'In', and the values array contains only 'value'. The requirements are ANDed. - - -### Nested Schema for `spec.limitador.affinity.pod_anti_affinity.required_during_scheduling_ignored_during_execution.label_selector.match_expressions` - -Required: - -- `key` (String) key is the label key that the selector applies to. -- `operator` (String) operator represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists and DoesNotExist. - -Optional: - -- `values` (List of String) 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. This array is replaced during a strategicmerge patch. - - - - -### Nested Schema for `spec.limitador.affinity.pod_anti_affinity.required_during_scheduling_ignored_during_execution.namespace_selector` - -Optional: - -- `match_expressions` (Attributes List) matchExpressions is a list of label selector requirements. The requirements are ANDed. (see [below for nested schema](#nestedatt--spec--limitador--affinity--pod_anti_affinity--required_during_scheduling_ignored_during_execution--namespace_selector--match_expressions)) -- `match_labels` (Map of String) matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabelsmap is equivalent to an element of matchExpressions, whose key field is 'key', theoperator is 'In', and the values array contains only 'value'. The requirements are ANDed. - - -### Nested Schema for `spec.limitador.affinity.pod_anti_affinity.required_during_scheduling_ignored_during_execution.namespace_selector.match_expressions` - -Required: - -- `key` (String) key is the label key that the selector applies to. -- `operator` (String) operator represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists and DoesNotExist. - -Optional: - -- `values` (List of String) 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. This array is replaced during a strategicmerge patch. - - - - - - - -### Nested Schema for `spec.limitador.pdb` - -Optional: - -- `max_unavailable` (String) An eviction is allowed if at most 'maxUnavailable' limitador podsare unavailable after the eviction, i.e. even in absence ofthe evicted pod. For example, one can prevent all voluntary evictionsby specifying 0. This is a mutually exclusive setting with 'minAvailable'. -- `min_available` (String) An eviction is allowed if at least 'minAvailable' limitador pods willstill be available after the eviction, i.e. even in the absence ofthe evicted pod. So for example you can prevent all voluntaryevictions by specifying '100%'. - - - -### Nested Schema for `spec.limitador.resource_requirements` - -Optional: - -- `claims` (Attributes List) Claims lists the names of resources, defined in spec.resourceClaims,that are used by this container.This is an alpha field and requires enabling theDynamicResourceAllocation feature gate.This field is immutable. It can only be set for containers. (see [below for nested schema](#nestedatt--spec--limitador--resource_requirements--claims)) -- `limits` (Map of String) Limits describes the maximum amount of compute resources allowed.More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ -- `requests` (Map of String) Requests describes the minimum amount of compute resources required.If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,otherwise to an implementation-defined value. Requests cannot exceed Limits.More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ - - -### Nested Schema for `spec.limitador.resource_requirements.claims` - -Required: - -- `name` (String) Name must match the name of one entry in pod.spec.resourceClaims ofthe Pod where this field is used. It makes that resource availableinside a container. - - - - -### Nested Schema for `spec.limitador.storage` - -Optional: - -- `disk` (Attributes) (see [below for nested schema](#nestedatt--spec--limitador--storage--disk)) -- `redis` (Attributes) (see [below for nested schema](#nestedatt--spec--limitador--storage--redis)) -- `redis_cached` (Attributes) (see [below for nested schema](#nestedatt--spec--limitador--storage--redis_cached)) - - -### Nested Schema for `spec.limitador.storage.disk` - -Optional: - -- `optimize` (String) DiskOptimizeType defines the valid options for 'optimize' option of the disk persistence type -- `persistent_volume_claim` (Attributes) (see [below for nested schema](#nestedatt--spec--limitador--storage--disk--persistent_volume_claim)) - - -### Nested Schema for `spec.limitador.storage.disk.persistent_volume_claim` - -Optional: - -- `resources` (Attributes) Resources represents the minimum resources the volume should have.Ignored when VolumeName field is set (see [below for nested schema](#nestedatt--spec--limitador--storage--disk--persistent_volume_claim--resources)) -- `storage_class_name` (String) -- `volume_name` (String) VolumeName is the binding reference to the PersistentVolume backing this claim. - - -### Nested Schema for `spec.limitador.storage.disk.persistent_volume_claim.resources` - -Required: - -- `requests` (String) Storage Resource requests to be used on the PersistentVolumeClaim.To learn more about resource requests see:https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ - - - - - -### Nested Schema for `spec.limitador.storage.redis` - -Optional: - -- `config_secret_ref` (Attributes) LocalObjectReference contains enough information to let you locate thereferenced object inside the same namespace. (see [below for nested schema](#nestedatt--spec--limitador--storage--redis--config_secret_ref)) - - -### Nested Schema for `spec.limitador.storage.redis.config_secret_ref` - -Optional: - -- `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid? - - - - -### Nested Schema for `spec.limitador.storage.redis_cached` - -Optional: - -- `config_secret_ref` (Attributes) LocalObjectReference contains enough information to let you locate thereferenced object inside the same namespace. (see [below for nested schema](#nestedatt--spec--limitador--storage--redis_cached--config_secret_ref)) -- `options` (Attributes) (see [below for nested schema](#nestedatt--spec--limitador--storage--redis_cached--options)) - - -### Nested Schema for `spec.limitador.storage.redis_cached.config_secret_ref` - -Optional: - -- `name` (String) Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid? - - - -### Nested Schema for `spec.limitador.storage.redis_cached.options` - -Optional: - -- `batch_size` (Number) BatchSize defines the size of entries to flush in as single flush [default: 100] -- `flush_period` (Number) FlushPeriod for counters in milliseconds [default: 1000] -- `max_cached` (Number) MaxCached refers to the maximum amount of counters cached [default: 10000] -- `response_timeout` (Number) ResponseTimeout defines the timeout for Redis commands in milliseconds [default: 350] diff --git a/docs/data-sources/kyverno_io_cluster_policy_v1_manifest.md b/docs/data-sources/kyverno_io_cluster_policy_v1_manifest.md index 83e6f4d71..388494ea2 100644 --- a/docs/data-sources/kyverno_io_cluster_policy_v1_manifest.md +++ b/docs/data-sources/kyverno_io_cluster_policy_v1_manifest.md @@ -1369,9 +1369,11 @@ Optional: - `additional_extensions` (Map of String) AdditionalExtensions are certificate-extensions used for keyless signing. - `ctlog` (Attributes) CTLog (certificate timestamp log) provides a configuration for validation of Signed CertificateTimestamps (SCTs). If the value is unset, the default behavior by Cosign is used. (see [below for nested schema](#nestedatt--spec--rules--validate--manifests--attestors--entries--keyless--ctlog)) - `issuer` (String) Issuer is the certificate issuer used for keyless signing. +- `issuer_reg_exp` (String) IssuerRegExp is the regular expression to match certificate issuer used for keyless signing. - `rekor` (Attributes) Rekor provides configuration for the Rekor transparency log service. If an empty objectis provided the public instance of Rekor (https://rekor.sigstore.dev) is used. (see [below for nested schema](#nestedatt--spec--rules--validate--manifests--attestors--entries--keyless--rekor)) - `roots` (String) Roots is an optional set of PEM encoded trusted root certificates.If not provided, the system roots are used. - `subject` (String) Subject is the verified identity used for keyless signing, for example the email address. +- `subject_reg_exp` (String) SubjectRegExp is the regular expression to match identity used for keyless signing, for example the email address. ### Nested Schema for `spec.rules.validate.manifests.attestors.entries.keyless.ctlog` @@ -1621,9 +1623,11 @@ Optional: - `additional_extensions` (Map of String) AdditionalExtensions are certificate-extensions used for keyless signing. - `ctlog` (Attributes) CTLog (certificate timestamp log) provides a configuration for validation of Signed CertificateTimestamps (SCTs). If the value is unset, the default behavior by Cosign is used. (see [below for nested schema](#nestedatt--spec--rules--verify_images--attestations--attestors--entries--keyless--ctlog)) - `issuer` (String) Issuer is the certificate issuer used for keyless signing. +- `issuer_reg_exp` (String) IssuerRegExp is the regular expression to match certificate issuer used for keyless signing. - `rekor` (Attributes) Rekor provides configuration for the Rekor transparency log service. If an empty objectis provided the public instance of Rekor (https://rekor.sigstore.dev) is used. (see [below for nested schema](#nestedatt--spec--rules--verify_images--attestations--attestors--entries--keyless--rekor)) - `roots` (String) Roots is an optional set of PEM encoded trusted root certificates.If not provided, the system roots are used. - `subject` (String) Subject is the verified identity used for keyless signing, for example the email address. +- `subject_reg_exp` (String) SubjectRegExp is the regular expression to match identity used for keyless signing, for example the email address. ### Nested Schema for `spec.rules.verify_images.attestations.attestors.entries.keyless.ctlog` @@ -1781,9 +1785,11 @@ Optional: - `additional_extensions` (Map of String) AdditionalExtensions are certificate-extensions used for keyless signing. - `ctlog` (Attributes) CTLog (certificate timestamp log) provides a configuration for validation of Signed CertificateTimestamps (SCTs). If the value is unset, the default behavior by Cosign is used. (see [below for nested schema](#nestedatt--spec--rules--verify_images--attestors--entries--keyless--ctlog)) - `issuer` (String) Issuer is the certificate issuer used for keyless signing. +- `issuer_reg_exp` (String) IssuerRegExp is the regular expression to match certificate issuer used for keyless signing. - `rekor` (Attributes) Rekor provides configuration for the Rekor transparency log service. If an empty objectis provided the public instance of Rekor (https://rekor.sigstore.dev) is used. (see [below for nested schema](#nestedatt--spec--rules--verify_images--attestors--entries--keyless--rekor)) - `roots` (String) Roots is an optional set of PEM encoded trusted root certificates.If not provided, the system roots are used. - `subject` (String) Subject is the verified identity used for keyless signing, for example the email address. +- `subject_reg_exp` (String) SubjectRegExp is the regular expression to match identity used for keyless signing, for example the email address. ### Nested Schema for `spec.rules.verify_images.attestors.entries.keyless.ctlog` diff --git a/docs/data-sources/kyverno_io_cluster_policy_v2beta1_manifest.md b/docs/data-sources/kyverno_io_cluster_policy_v2beta1_manifest.md index 02817def0..5689b0119 100644 --- a/docs/data-sources/kyverno_io_cluster_policy_v2beta1_manifest.md +++ b/docs/data-sources/kyverno_io_cluster_policy_v2beta1_manifest.md @@ -1277,9 +1277,11 @@ Optional: - `additional_extensions` (Map of String) AdditionalExtensions are certificate-extensions used for keyless signing. - `ctlog` (Attributes) CTLog (certificate timestamp log) provides a configuration for validation of Signed CertificateTimestamps (SCTs). If the value is unset, the default behavior by Cosign is used. (see [below for nested schema](#nestedatt--spec--rules--validate--manifests--attestors--entries--keyless--ctlog)) - `issuer` (String) Issuer is the certificate issuer used for keyless signing. +- `issuer_reg_exp` (String) IssuerRegExp is the regular expression to match certificate issuer used for keyless signing. - `rekor` (Attributes) Rekor provides configuration for the Rekor transparency log service. If an empty objectis provided the public instance of Rekor (https://rekor.sigstore.dev) is used. (see [below for nested schema](#nestedatt--spec--rules--validate--manifests--attestors--entries--keyless--rekor)) - `roots` (String) Roots is an optional set of PEM encoded trusted root certificates.If not provided, the system roots are used. - `subject` (String) Subject is the verified identity used for keyless signing, for example the email address. +- `subject_reg_exp` (String) SubjectRegExp is the regular expression to match identity used for keyless signing, for example the email address. ### Nested Schema for `spec.rules.validate.manifests.attestors.entries.keyless.ctlog` @@ -1521,9 +1523,11 @@ Optional: - `additional_extensions` (Map of String) AdditionalExtensions are certificate-extensions used for keyless signing. - `ctlog` (Attributes) CTLog (certificate timestamp log) provides a configuration for validation of Signed CertificateTimestamps (SCTs). If the value is unset, the default behavior by Cosign is used. (see [below for nested schema](#nestedatt--spec--rules--verify_images--attestations--attestors--entries--keyless--ctlog)) - `issuer` (String) Issuer is the certificate issuer used for keyless signing. +- `issuer_reg_exp` (String) IssuerRegExp is the regular expression to match certificate issuer used for keyless signing. - `rekor` (Attributes) Rekor provides configuration for the Rekor transparency log service. If an empty objectis provided the public instance of Rekor (https://rekor.sigstore.dev) is used. (see [below for nested schema](#nestedatt--spec--rules--verify_images--attestations--attestors--entries--keyless--rekor)) - `roots` (String) Roots is an optional set of PEM encoded trusted root certificates.If not provided, the system roots are used. - `subject` (String) Subject is the verified identity used for keyless signing, for example the email address. +- `subject_reg_exp` (String) SubjectRegExp is the regular expression to match identity used for keyless signing, for example the email address. ### Nested Schema for `spec.rules.verify_images.attestations.attestors.entries.keyless.ctlog` @@ -1681,9 +1685,11 @@ Optional: - `additional_extensions` (Map of String) AdditionalExtensions are certificate-extensions used for keyless signing. - `ctlog` (Attributes) CTLog (certificate timestamp log) provides a configuration for validation of Signed CertificateTimestamps (SCTs). If the value is unset, the default behavior by Cosign is used. (see [below for nested schema](#nestedatt--spec--rules--verify_images--attestors--entries--keyless--ctlog)) - `issuer` (String) Issuer is the certificate issuer used for keyless signing. +- `issuer_reg_exp` (String) IssuerRegExp is the regular expression to match certificate issuer used for keyless signing. - `rekor` (Attributes) Rekor provides configuration for the Rekor transparency log service. If an empty objectis provided the public instance of Rekor (https://rekor.sigstore.dev) is used. (see [below for nested schema](#nestedatt--spec--rules--verify_images--attestors--entries--keyless--rekor)) - `roots` (String) Roots is an optional set of PEM encoded trusted root certificates.If not provided, the system roots are used. - `subject` (String) Subject is the verified identity used for keyless signing, for example the email address. +- `subject_reg_exp` (String) SubjectRegExp is the regular expression to match identity used for keyless signing, for example the email address. ### Nested Schema for `spec.rules.verify_images.attestors.entries.keyless.ctlog` diff --git a/docs/data-sources/kyverno_io_global_context_entry_v2alpha1_manifest.md b/docs/data-sources/kyverno_io_global_context_entry_v2alpha1_manifest.md index 3cbdebf18..819f0c5dd 100644 --- a/docs/data-sources/kyverno_io_global_context_entry_v2alpha1_manifest.md +++ b/docs/data-sources/kyverno_io_global_context_entry_v2alpha1_manifest.md @@ -92,10 +92,10 @@ Optional: Required: -- `group` (String) Group defines the group of the resource. - `resource` (String) Resource defines the type of the resource.Requires the pluralized form of the resource kind in lowercase. (Ex., 'deployments') - `version` (String) Version defines the version of the resource. Optional: +- `group` (String) Group defines the group of the resource. - `namespace` (String) Namespace defines the namespace of the resource. Leave empty for cluster scoped resources.If left empty for namespaced resources, all resources from all namespaces will be cached. diff --git a/docs/data-sources/kyverno_io_policy_v1_manifest.md b/docs/data-sources/kyverno_io_policy_v1_manifest.md index 00ff0629f..37188af4a 100644 --- a/docs/data-sources/kyverno_io_policy_v1_manifest.md +++ b/docs/data-sources/kyverno_io_policy_v1_manifest.md @@ -1371,9 +1371,11 @@ Optional: - `additional_extensions` (Map of String) AdditionalExtensions are certificate-extensions used for keyless signing. - `ctlog` (Attributes) CTLog (certificate timestamp log) provides a configuration for validation of Signed CertificateTimestamps (SCTs). If the value is unset, the default behavior by Cosign is used. (see [below for nested schema](#nestedatt--spec--rules--validate--manifests--attestors--entries--keyless--ctlog)) - `issuer` (String) Issuer is the certificate issuer used for keyless signing. +- `issuer_reg_exp` (String) IssuerRegExp is the regular expression to match certificate issuer used for keyless signing. - `rekor` (Attributes) Rekor provides configuration for the Rekor transparency log service. If an empty objectis provided the public instance of Rekor (https://rekor.sigstore.dev) is used. (see [below for nested schema](#nestedatt--spec--rules--validate--manifests--attestors--entries--keyless--rekor)) - `roots` (String) Roots is an optional set of PEM encoded trusted root certificates.If not provided, the system roots are used. - `subject` (String) Subject is the verified identity used for keyless signing, for example the email address. +- `subject_reg_exp` (String) SubjectRegExp is the regular expression to match identity used for keyless signing, for example the email address. ### Nested Schema for `spec.rules.validate.manifests.attestors.entries.keyless.ctlog` @@ -1623,9 +1625,11 @@ Optional: - `additional_extensions` (Map of String) AdditionalExtensions are certificate-extensions used for keyless signing. - `ctlog` (Attributes) CTLog (certificate timestamp log) provides a configuration for validation of Signed CertificateTimestamps (SCTs). If the value is unset, the default behavior by Cosign is used. (see [below for nested schema](#nestedatt--spec--rules--verify_images--attestations--attestors--entries--keyless--ctlog)) - `issuer` (String) Issuer is the certificate issuer used for keyless signing. +- `issuer_reg_exp` (String) IssuerRegExp is the regular expression to match certificate issuer used for keyless signing. - `rekor` (Attributes) Rekor provides configuration for the Rekor transparency log service. If an empty objectis provided the public instance of Rekor (https://rekor.sigstore.dev) is used. (see [below for nested schema](#nestedatt--spec--rules--verify_images--attestations--attestors--entries--keyless--rekor)) - `roots` (String) Roots is an optional set of PEM encoded trusted root certificates.If not provided, the system roots are used. - `subject` (String) Subject is the verified identity used for keyless signing, for example the email address. +- `subject_reg_exp` (String) SubjectRegExp is the regular expression to match identity used for keyless signing, for example the email address. ### Nested Schema for `spec.rules.verify_images.attestations.attestors.entries.keyless.ctlog` @@ -1783,9 +1787,11 @@ Optional: - `additional_extensions` (Map of String) AdditionalExtensions are certificate-extensions used for keyless signing. - `ctlog` (Attributes) CTLog (certificate timestamp log) provides a configuration for validation of Signed CertificateTimestamps (SCTs). If the value is unset, the default behavior by Cosign is used. (see [below for nested schema](#nestedatt--spec--rules--verify_images--attestors--entries--keyless--ctlog)) - `issuer` (String) Issuer is the certificate issuer used for keyless signing. +- `issuer_reg_exp` (String) IssuerRegExp is the regular expression to match certificate issuer used for keyless signing. - `rekor` (Attributes) Rekor provides configuration for the Rekor transparency log service. If an empty objectis provided the public instance of Rekor (https://rekor.sigstore.dev) is used. (see [below for nested schema](#nestedatt--spec--rules--verify_images--attestors--entries--keyless--rekor)) - `roots` (String) Roots is an optional set of PEM encoded trusted root certificates.If not provided, the system roots are used. - `subject` (String) Subject is the verified identity used for keyless signing, for example the email address. +- `subject_reg_exp` (String) SubjectRegExp is the regular expression to match identity used for keyless signing, for example the email address. ### Nested Schema for `spec.rules.verify_images.attestors.entries.keyless.ctlog` diff --git a/docs/data-sources/kyverno_io_policy_v2beta1_manifest.md b/docs/data-sources/kyverno_io_policy_v2beta1_manifest.md index cf10b32b6..98e46a3ea 100644 --- a/docs/data-sources/kyverno_io_policy_v2beta1_manifest.md +++ b/docs/data-sources/kyverno_io_policy_v2beta1_manifest.md @@ -1279,9 +1279,11 @@ Optional: - `additional_extensions` (Map of String) AdditionalExtensions are certificate-extensions used for keyless signing. - `ctlog` (Attributes) CTLog (certificate timestamp log) provides a configuration for validation of Signed CertificateTimestamps (SCTs). If the value is unset, the default behavior by Cosign is used. (see [below for nested schema](#nestedatt--spec--rules--validate--manifests--attestors--entries--keyless--ctlog)) - `issuer` (String) Issuer is the certificate issuer used for keyless signing. +- `issuer_reg_exp` (String) IssuerRegExp is the regular expression to match certificate issuer used for keyless signing. - `rekor` (Attributes) Rekor provides configuration for the Rekor transparency log service. If an empty objectis provided the public instance of Rekor (https://rekor.sigstore.dev) is used. (see [below for nested schema](#nestedatt--spec--rules--validate--manifests--attestors--entries--keyless--rekor)) - `roots` (String) Roots is an optional set of PEM encoded trusted root certificates.If not provided, the system roots are used. - `subject` (String) Subject is the verified identity used for keyless signing, for example the email address. +- `subject_reg_exp` (String) SubjectRegExp is the regular expression to match identity used for keyless signing, for example the email address. ### Nested Schema for `spec.rules.validate.manifests.attestors.entries.keyless.ctlog` @@ -1523,9 +1525,11 @@ Optional: - `additional_extensions` (Map of String) AdditionalExtensions are certificate-extensions used for keyless signing. - `ctlog` (Attributes) CTLog (certificate timestamp log) provides a configuration for validation of Signed CertificateTimestamps (SCTs). If the value is unset, the default behavior by Cosign is used. (see [below for nested schema](#nestedatt--spec--rules--verify_images--attestations--attestors--entries--keyless--ctlog)) - `issuer` (String) Issuer is the certificate issuer used for keyless signing. +- `issuer_reg_exp` (String) IssuerRegExp is the regular expression to match certificate issuer used for keyless signing. - `rekor` (Attributes) Rekor provides configuration for the Rekor transparency log service. If an empty objectis provided the public instance of Rekor (https://rekor.sigstore.dev) is used. (see [below for nested schema](#nestedatt--spec--rules--verify_images--attestations--attestors--entries--keyless--rekor)) - `roots` (String) Roots is an optional set of PEM encoded trusted root certificates.If not provided, the system roots are used. - `subject` (String) Subject is the verified identity used for keyless signing, for example the email address. +- `subject_reg_exp` (String) SubjectRegExp is the regular expression to match identity used for keyless signing, for example the email address. ### Nested Schema for `spec.rules.verify_images.attestations.attestors.entries.keyless.ctlog` @@ -1683,9 +1687,11 @@ Optional: - `additional_extensions` (Map of String) AdditionalExtensions are certificate-extensions used for keyless signing. - `ctlog` (Attributes) CTLog (certificate timestamp log) provides a configuration for validation of Signed CertificateTimestamps (SCTs). If the value is unset, the default behavior by Cosign is used. (see [below for nested schema](#nestedatt--spec--rules--verify_images--attestors--entries--keyless--ctlog)) - `issuer` (String) Issuer is the certificate issuer used for keyless signing. +- `issuer_reg_exp` (String) IssuerRegExp is the regular expression to match certificate issuer used for keyless signing. - `rekor` (Attributes) Rekor provides configuration for the Rekor transparency log service. If an empty objectis provided the public instance of Rekor (https://rekor.sigstore.dev) is used. (see [below for nested schema](#nestedatt--spec--rules--verify_images--attestors--entries--keyless--rekor)) - `roots` (String) Roots is an optional set of PEM encoded trusted root certificates.If not provided, the system roots are used. - `subject` (String) Subject is the verified identity used for keyless signing, for example the email address. +- `subject_reg_exp` (String) SubjectRegExp is the regular expression to match identity used for keyless signing, for example the email address. ### Nested Schema for `spec.rules.verify_images.attestors.entries.keyless.ctlog` diff --git a/docs/data-sources/kyverno_io_update_request_v2_manifest.md b/docs/data-sources/kyverno_io_update_request_v2_manifest.md index 1f7bcc720..18076ef8f 100644 --- a/docs/data-sources/kyverno_io_update_request_v2_manifest.md +++ b/docs/data-sources/kyverno_io_update_request_v2_manifest.md @@ -55,8 +55,8 @@ Optional: Required: -- `context` (Attributes) Context ... (see [below for nested schema](#nestedatt--spec--context)) -- `delete_downstream` (Boolean) DeleteDownstream represents whether the downstream needs to be deleted. +- `context` (Attributes) Context represents admission request context.It is used upon admission review only and is shared across rules within the same UR. (see [below for nested schema](#nestedatt--spec--context)) +- `delete_downstream` (Boolean) DeleteDownstream represents whether the downstream needs to be deleted.Deprecated - `policy` (String) Specifies the name of the policy. - `resource` (Attributes) ResourceSpec is the information to identify the trigger resource. (see [below for nested schema](#nestedatt--spec--resource)) - `rule` (String) Rule is the associate rule name of the current UR. @@ -64,7 +64,8 @@ Required: Optional: - `request_type` (String) Type represents request type for background processing -- `synchronize` (Boolean) Synchronize represents the sync behavior of the corresponding ruleOptional. Defaults to 'false' if not specified. +- `rule_context` (Attributes List) RuleContext is the associate context to apply rules.optional (see [below for nested schema](#nestedatt--spec--rule_context)) +- `synchronize` (Boolean) Synchronize represents the sync behavior of the corresponding ruleOptional. Defaults to 'false' if not specified.Deprecated, will be removed in 1.14. ### Nested Schema for `spec.context` @@ -191,3 +192,28 @@ Optional: - `name` (String) Name specifies the resource name. - `namespace` (String) Namespace specifies resource namespace. - `uid` (String) UID specifies the resource uid. + + + +### Nested Schema for `spec.rule_context` + +Required: + +- `delete_downstream` (Boolean) DeleteDownstream represents whether the downstream needs to be deleted. +- `rule` (String) Rule is the associate rule name of the current UR. +- `trigger` (Attributes) ResourceSpec is the information to identify the trigger resource. (see [below for nested schema](#nestedatt--spec--rule_context--trigger)) + +Optional: + +- `synchronize` (Boolean) Synchronize represents the sync behavior of the corresponding ruleOptional. Defaults to 'false' if not specified. + + +### Nested Schema for `spec.rule_context.trigger` + +Optional: + +- `api_version` (String) APIVersion specifies resource apiVersion. +- `kind` (String) Kind specifies resource kind. +- `name` (String) Name specifies the resource name. +- `namespace` (String) Namespace specifies resource namespace. +- `uid` (String) UID specifies the resource uid. diff --git a/docs/data-sources/logging_banzaicloud_io_fluentbit_agent_v1beta1_manifest.md b/docs/data-sources/logging_banzaicloud_io_fluentbit_agent_v1beta1_manifest.md index 38991152a..b0930fa30 100644 --- a/docs/data-sources/logging_banzaicloud_io_fluentbit_agent_v1beta1_manifest.md +++ b/docs/data-sources/logging_banzaicloud_io_fluentbit_agent_v1beta1_manifest.md @@ -706,10 +706,25 @@ Optional: - `port` (Number) - `prometheus_annotations` (Boolean) - `prometheus_rules` (Boolean) +- `prometheus_rules_override` (Attributes List) (see [below for nested schema](#nestedatt--spec--buffer_volume_metrics--prometheus_rules_override)) - `service_monitor` (Boolean) - `service_monitor_config` (Attributes) (see [below for nested schema](#nestedatt--spec--buffer_volume_metrics--service_monitor_config)) - `timeout` (String) + +### Nested Schema for `spec.buffer_volume_metrics.prometheus_rules_override` + +Optional: + +- `alert` (String) +- `annotations` (Map of String) +- `expr` (String) +- `for` (String) +- `keep_firing_for` (String) +- `labels` (Map of String) +- `record` (String) + + ### Nested Schema for `spec.buffer_volume_metrics.service_monitor_config` @@ -1445,10 +1460,25 @@ Optional: - `port` (Number) - `prometheus_annotations` (Boolean) - `prometheus_rules` (Boolean) +- `prometheus_rules_override` (Attributes List) (see [below for nested schema](#nestedatt--spec--metrics--prometheus_rules_override)) - `service_monitor` (Boolean) - `service_monitor_config` (Attributes) (see [below for nested schema](#nestedatt--spec--metrics--service_monitor_config)) - `timeout` (String) + +### Nested Schema for `spec.metrics.prometheus_rules_override` + +Optional: + +- `alert` (String) +- `annotations` (Map of String) +- `expr` (String) +- `for` (String) +- `keep_firing_for` (String) +- `labels` (Map of String) +- `record` (String) + + ### Nested Schema for `spec.metrics.service_monitor_config` diff --git a/docs/data-sources/logging_banzaicloud_io_logging_v1beta1_manifest.md b/docs/data-sources/logging_banzaicloud_io_logging_v1beta1_manifest.md index 98344f23f..7318773ba 100644 --- a/docs/data-sources/logging_banzaicloud_io_logging_v1beta1_manifest.md +++ b/docs/data-sources/logging_banzaicloud_io_logging_v1beta1_manifest.md @@ -62,6 +62,7 @@ Optional: - `cluster_domain` (String) - `config_check` (Attributes) (see [below for nested schema](#nestedatt--spec--config_check)) - `default_flow` (Attributes) (see [below for nested schema](#nestedatt--spec--default_flow)) +- `enable_docker_parser_compatibility_for_cri` (Boolean) - `enable_recreate_workload_on_immutable_field_change` (Boolean) - `error_output_ref` (String) - `flow_config_check_disabled` (Boolean) @@ -1677,10 +1678,25 @@ Optional: - `port` (Number) - `prometheus_annotations` (Boolean) - `prometheus_rules` (Boolean) +- `prometheus_rules_override` (Attributes List) (see [below for nested schema](#nestedatt--spec--fluentbit--buffer_volume_metrics--prometheus_rules_override)) - `service_monitor` (Boolean) - `service_monitor_config` (Attributes) (see [below for nested schema](#nestedatt--spec--fluentbit--buffer_volume_metrics--service_monitor_config)) - `timeout` (String) + +### Nested Schema for `spec.fluentbit.buffer_volume_metrics.prometheus_rules_override` + +Optional: + +- `alert` (String) +- `annotations` (Map of String) +- `expr` (String) +- `for` (String) +- `keep_firing_for` (String) +- `labels` (Map of String) +- `record` (String) + + ### Nested Schema for `spec.fluentbit.buffer_volume_metrics.service_monitor_config` @@ -2416,10 +2432,25 @@ Optional: - `port` (Number) - `prometheus_annotations` (Boolean) - `prometheus_rules` (Boolean) +- `prometheus_rules_override` (Attributes List) (see [below for nested schema](#nestedatt--spec--fluentbit--metrics--prometheus_rules_override)) - `service_monitor` (Boolean) - `service_monitor_config` (Attributes) (see [below for nested schema](#nestedatt--spec--fluentbit--metrics--service_monitor_config)) - `timeout` (String) + +### Nested Schema for `spec.fluentbit.metrics.prometheus_rules_override` + +Optional: + +- `alert` (String) +- `annotations` (Map of String) +- `expr` (String) +- `for` (String) +- `keep_firing_for` (String) +- `labels` (Map of String) +- `record` (String) + + ### Nested Schema for `spec.fluentbit.metrics.service_monitor_config` @@ -3745,10 +3776,25 @@ Optional: - `port` (Number) - `prometheus_annotations` (Boolean) - `prometheus_rules` (Boolean) +- `prometheus_rules_override` (Attributes List) (see [below for nested schema](#nestedatt--spec--fluentd--buffer_volume_metrics--prometheus_rules_override)) - `service_monitor` (Boolean) - `service_monitor_config` (Attributes) (see [below for nested schema](#nestedatt--spec--fluentd--buffer_volume_metrics--service_monitor_config)) - `timeout` (String) + +### Nested Schema for `spec.fluentd.buffer_volume_metrics.prometheus_rules_override` + +Optional: + +- `alert` (String) +- `annotations` (Map of String) +- `expr` (String) +- `for` (String) +- `keep_firing_for` (String) +- `labels` (Map of String) +- `record` (String) + + ### Nested Schema for `spec.fluentd.buffer_volume_metrics.service_monitor_config` @@ -4600,10 +4646,25 @@ Optional: - `port` (Number) - `prometheus_annotations` (Boolean) - `prometheus_rules` (Boolean) +- `prometheus_rules_override` (Attributes List) (see [below for nested schema](#nestedatt--spec--fluentd--metrics--prometheus_rules_override)) - `service_monitor` (Boolean) - `service_monitor_config` (Attributes) (see [below for nested schema](#nestedatt--spec--fluentd--metrics--service_monitor_config)) - `timeout` (String) + +### Nested Schema for `spec.fluentd.metrics.prometheus_rules_override` + +Optional: + +- `alert` (String) +- `annotations` (Map of String) +- `expr` (String) +- `for` (String) +- `keep_firing_for` (String) +- `labels` (Map of String) +- `record` (String) + + ### Nested Schema for `spec.fluentd.metrics.service_monitor_config` @@ -10605,10 +10666,25 @@ Optional: - `port` (Number) - `prometheus_annotations` (Boolean) - `prometheus_rules` (Boolean) +- `prometheus_rules_override` (Attributes List) (see [below for nested schema](#nestedatt--spec--node_agents--node_agent_fluentbit--metrics--prometheus_rules_override)) - `service_monitor` (Boolean) - `service_monitor_config` (Attributes) (see [below for nested schema](#nestedatt--spec--node_agents--node_agent_fluentbit--metrics--service_monitor_config)) - `timeout` (String) + +### Nested Schema for `spec.node_agents.node_agent_fluentbit.metrics.prometheus_rules_override` + +Optional: + +- `alert` (String) +- `annotations` (Map of String) +- `expr` (String) +- `for` (String) +- `keep_firing_for` (String) +- `labels` (Map of String) +- `record` (String) + + ### Nested Schema for `spec.node_agents.node_agent_fluentbit.metrics.service_monitor_config` @@ -11271,10 +11347,25 @@ Optional: - `port` (Number) - `prometheus_annotations` (Boolean) - `prometheus_rules` (Boolean) +- `prometheus_rules_override` (Attributes List) (see [below for nested schema](#nestedatt--spec--syslog_ng--buffer_volume_metrics--prometheus_rules_override)) - `service_monitor` (Boolean) - `service_monitor_config` (Attributes) (see [below for nested schema](#nestedatt--spec--syslog_ng--buffer_volume_metrics--service_monitor_config)) - `timeout` (String) + +### Nested Schema for `spec.syslog_ng.buffer_volume_metrics.prometheus_rules_override` + +Optional: + +- `alert` (String) +- `annotations` (Map of String) +- `expr` (String) +- `for` (String) +- `keep_firing_for` (String) +- `labels` (Map of String) +- `record` (String) + + ### Nested Schema for `spec.syslog_ng.buffer_volume_metrics.service_monitor_config` @@ -14821,10 +14912,25 @@ Optional: - `port` (Number) - `prometheus_annotations` (Boolean) - `prometheus_rules` (Boolean) +- `prometheus_rules_override` (Attributes List) (see [below for nested schema](#nestedatt--spec--syslog_ng--metrics--prometheus_rules_override)) - `service_monitor` (Boolean) - `service_monitor_config` (Attributes) (see [below for nested schema](#nestedatt--spec--syslog_ng--metrics--service_monitor_config)) - `timeout` (String) + +### Nested Schema for `spec.syslog_ng.metrics.prometheus_rules_override` + +Optional: + +- `alert` (String) +- `annotations` (Map of String) +- `expr` (String) +- `for` (String) +- `keep_firing_for` (String) +- `labels` (Map of String) +- `record` (String) + + ### Nested Schema for `spec.syslog_ng.metrics.service_monitor_config` diff --git a/docs/data-sources/logging_banzaicloud_io_node_agent_v1beta1_manifest.md b/docs/data-sources/logging_banzaicloud_io_node_agent_v1beta1_manifest.md index fc686b461..37d5cc2ed 100644 --- a/docs/data-sources/logging_banzaicloud_io_node_agent_v1beta1_manifest.md +++ b/docs/data-sources/logging_banzaicloud_io_node_agent_v1beta1_manifest.md @@ -3797,10 +3797,25 @@ Optional: - `port` (Number) - `prometheus_annotations` (Boolean) - `prometheus_rules` (Boolean) +- `prometheus_rules_override` (Attributes List) (see [below for nested schema](#nestedatt--spec--node_agent_fluentbit--metrics--prometheus_rules_override)) - `service_monitor` (Boolean) - `service_monitor_config` (Attributes) (see [below for nested schema](#nestedatt--spec--node_agent_fluentbit--metrics--service_monitor_config)) - `timeout` (String) + +### Nested Schema for `spec.node_agent_fluentbit.metrics.prometheus_rules_override` + +Optional: + +- `alert` (String) +- `annotations` (Map of String) +- `expr` (String) +- `for` (String) +- `keep_firing_for` (String) +- `labels` (Map of String) +- `record` (String) + + ### Nested Schema for `spec.node_agent_fluentbit.metrics.service_monitor_config` diff --git a/docs/data-sources/monitoring_coreos_com_alertmanager_config_v1alpha1_manifest.md b/docs/data-sources/monitoring_coreos_com_alertmanager_config_v1alpha1_manifest.md index b4ce0d3ba..4f1db0ece 100644 --- a/docs/data-sources/monitoring_coreos_com_alertmanager_config_v1alpha1_manifest.md +++ b/docs/data-sources/monitoring_coreos_com_alertmanager_config_v1alpha1_manifest.md @@ -283,7 +283,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--receivers--discord_configs--http_config--oauth2--tls_config)) @@ -811,7 +811,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--receivers--msteams_configs--http_config--oauth2--tls_config)) @@ -1201,7 +1201,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--receivers--opsgenie_configs--http_config--oauth2--tls_config)) @@ -1593,7 +1593,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--receivers--pagerduty_configs--http_config--oauth2--tls_config)) @@ -2008,7 +2008,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--receivers--pushover_configs--http_config--oauth2--tls_config)) @@ -2466,7 +2466,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--receivers--slack_configs--http_config--oauth2--tls_config)) @@ -2829,7 +2829,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--receivers--sns_configs--http_config--oauth2--tls_config)) @@ -3242,7 +3242,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--receivers--telegram_configs--http_config--oauth2--tls_config)) @@ -3627,7 +3627,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--receivers--victorops_configs--http_config--oauth2--tls_config)) @@ -3988,7 +3988,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--receivers--webex_configs--http_config--oauth2--tls_config)) @@ -4346,7 +4346,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--receivers--webhook_configs--http_config--oauth2--tls_config)) @@ -4736,7 +4736,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--receivers--wechat_configs--http_config--oauth2--tls_config)) diff --git a/docs/data-sources/monitoring_coreos_com_alertmanager_config_v1beta1_manifest.md b/docs/data-sources/monitoring_coreos_com_alertmanager_config_v1beta1_manifest.md index 226910406..2ff6225e2 100644 --- a/docs/data-sources/monitoring_coreos_com_alertmanager_config_v1beta1_manifest.md +++ b/docs/data-sources/monitoring_coreos_com_alertmanager_config_v1beta1_manifest.md @@ -235,7 +235,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--receivers--discord_configs--http_config--oauth2--tls_config)) @@ -751,7 +751,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--receivers--msteams_configs--http_config--oauth2--tls_config)) @@ -1132,7 +1132,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--receivers--opsgenie_configs--http_config--oauth2--tls_config)) @@ -1520,7 +1520,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--receivers--pagerduty_configs--http_config--oauth2--tls_config)) @@ -1923,7 +1923,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--receivers--pushover_configs--http_config--oauth2--tls_config)) @@ -2365,7 +2365,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--receivers--slack_configs--http_config--oauth2--tls_config)) @@ -2724,7 +2724,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--receivers--sns_configs--http_config--oauth2--tls_config)) @@ -3129,7 +3129,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--receivers--telegram_configs--http_config--oauth2--tls_config)) @@ -3506,7 +3506,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--receivers--victorops_configs--http_config--oauth2--tls_config)) @@ -3863,7 +3863,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--receivers--webex_configs--http_config--oauth2--tls_config)) @@ -4217,7 +4217,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--receivers--webhook_configs--http_config--oauth2--tls_config)) @@ -4595,7 +4595,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--receivers--wechat_configs--http_config--oauth2--tls_config)) diff --git a/docs/data-sources/monitoring_coreos_com_alertmanager_v1_manifest.md b/docs/data-sources/monitoring_coreos_com_alertmanager_v1_manifest.md index ca1647589..fe2711b26 100644 --- a/docs/data-sources/monitoring_coreos_com_alertmanager_v1_manifest.md +++ b/docs/data-sources/monitoring_coreos_com_alertmanager_v1_manifest.md @@ -657,7 +657,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--alertmanager_configuration--global--http_config--oauth2--tls_config)) diff --git a/docs/data-sources/monitoring_coreos_com_pod_monitor_v1_manifest.md b/docs/data-sources/monitoring_coreos_com_pod_monitor_v1_manifest.md index 43df3a484..ba47de8dc 100644 --- a/docs/data-sources/monitoring_coreos_com_pod_monitor_v1_manifest.md +++ b/docs/data-sources/monitoring_coreos_com_pod_monitor_v1_manifest.md @@ -249,7 +249,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--pod_metrics_endpoints--oauth2--tls_config)) diff --git a/docs/data-sources/monitoring_coreos_com_probe_v1_manifest.md b/docs/data-sources/monitoring_coreos_com_probe_v1_manifest.md index 288e9442f..1bba15682 100644 --- a/docs/data-sources/monitoring_coreos_com_probe_v1_manifest.md +++ b/docs/data-sources/monitoring_coreos_com_probe_v1_manifest.md @@ -173,7 +173,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--oauth2--tls_config)) diff --git a/docs/data-sources/monitoring_coreos_com_prometheus_agent_v1alpha1_manifest.md b/docs/data-sources/monitoring_coreos_com_prometheus_agent_v1alpha1_manifest.md index 81374a746..33a7ea573 100644 --- a/docs/data-sources/monitoring_coreos_com_prometheus_agent_v1alpha1_manifest.md +++ b/docs/data-sources/monitoring_coreos_com_prometheus_agent_v1alpha1_manifest.md @@ -93,6 +93,7 @@ Optional: - `min_ready_seconds` (Number) Minimum number of seconds for which a newly created Pod should be readywithout any of its container crashing for it to be considered available.Defaults to 0 (pod will be considered available as soon as it is ready)This is an alpha field from kubernetes 1.22 until 1.24 which requiresenabling the StatefulSetMinReadySeconds feature gate. - `mode` (String) Mode defines how the Prometheus operator deploys the PrometheusAgent pod(s).For now this field has no effect.(Alpha) Using this field requires the 'PrometheusAgentDaemonSet' feature gate to be enabled. - `node_selector` (Map of String) Defines on which Nodes the Pods are scheduled. +- `otlp` (Attributes) Settings related to the OTLP receiver feature.It requires Prometheus >= v2.54.0. (see [below for nested schema](#nestedatt--spec--otlp)) - `override_honor_labels` (Boolean) When true, Prometheus resolves label conflicts by renaming the labels in the scraped data to “exported_” for all targets created from ServiceMonitor, PodMonitor andScrapeConfig objects. Otherwise the HonorLabels field of the service or pod monitor applies.In practice,'overrideHonorLaels:true' enforces 'honorLabels:false'for all ServiceMonitor, PodMonitor and ScrapeConfig objects. - `override_honor_timestamps` (Boolean) When true, Prometheus ignores the timestamps for all the targets createdfrom service and pod monitors.Otherwise the HonorTimestamps field of the service or pod monitor applies. - `paused` (Boolean) When a Prometheus deployment is paused, no actions except for deletionwill be performed on the underlying objects. @@ -2023,6 +2024,14 @@ Optional: + +### Nested Schema for `spec.otlp` + +Optional: + +- `promote_resource_attributes` (List of String) List of OpenTelemetry Attributes that should be promoted to metric labels, defaults to none. + + ### Nested Schema for `spec.persistent_volume_claim_retention_policy` @@ -2153,7 +2162,7 @@ Optional: - `oauth2` (Attributes) OAuth2 configuration for the URL.It requires Prometheus >= v2.27.0.Cannot be set at the same time as 'sigv4', 'authorization', 'basicAuth', or 'azureAd'. (see [below for nested schema](#nestedatt--spec--remote_write--oauth2)) - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `queue_config` (Attributes) QueueConfig allows tuning of the remote write queue parameters. (see [below for nested schema](#nestedatt--spec--remote_write--queue_config)) - `remote_timeout` (String) Timeout for requests to the remote write endpoint. - `send_exemplars` (Boolean) Enables sending of exemplars over remote write. Note thatexemplar-storage itself must be enabled using the 'spec.enableFeature'option for exemplars to be scraped in the first place.It requires Prometheus >= v2.27.0. @@ -2294,7 +2303,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--remote_write--oauth2--tls_config)) diff --git a/docs/data-sources/monitoring_coreos_com_prometheus_v1_manifest.md b/docs/data-sources/monitoring_coreos_com_prometheus_v1_manifest.md index a1382dbd0..81040d3ae 100644 --- a/docs/data-sources/monitoring_coreos_com_prometheus_v1_manifest.md +++ b/docs/data-sources/monitoring_coreos_com_prometheus_v1_manifest.md @@ -101,6 +101,7 @@ Optional: - `maximum_startup_duration_seconds` (Number) Defines the maximum time that the 'prometheus' container's startup probe will wait before being considered failed. The startup probe will return success after the WAL replay is complete.If set, the value should be greater than 60 (seconds). Otherwise it will be equal to 600 seconds (15 minutes). - `min_ready_seconds` (Number) Minimum number of seconds for which a newly created Pod should be readywithout any of its container crashing for it to be considered available.Defaults to 0 (pod will be considered available as soon as it is ready)This is an alpha field from kubernetes 1.22 until 1.24 which requiresenabling the StatefulSetMinReadySeconds feature gate. - `node_selector` (Map of String) Defines on which Nodes the Pods are scheduled. +- `otlp` (Attributes) Settings related to the OTLP receiver feature.It requires Prometheus >= v2.54.0. (see [below for nested schema](#nestedatt--spec--otlp)) - `override_honor_labels` (Boolean) When true, Prometheus resolves label conflicts by renaming the labels in the scraped data to “exported_” for all targets created from ServiceMonitor, PodMonitor andScrapeConfig objects. Otherwise the HonorLabels field of the service or pod monitor applies.In practice,'overrideHonorLaels:true' enforces 'honorLabels:false'for all ServiceMonitor, PodMonitor and ScrapeConfig objects. - `override_honor_timestamps` (Boolean) When true, Prometheus ignores the timestamps for all the targets createdfrom service and pod monitors.Otherwise the HonorTimestamps field of the service or pod monitor applies. - `paused` (Boolean) When a Prometheus deployment is paused, no actions except for deletionwill be performed on the underlying objects. @@ -2334,6 +2335,14 @@ Optional: + +### Nested Schema for `spec.otlp` + +Optional: + +- `promote_resource_attributes` (List of String) List of OpenTelemetry Attributes that should be promoted to metric labels, defaults to none. + + ### Nested Schema for `spec.persistent_volume_claim_retention_policy` @@ -2482,7 +2491,7 @@ Optional: - `oauth2` (Attributes) OAuth2 configuration for the URL.It requires Prometheus >= v2.27.0.Cannot be set at the same time as 'authorization', or 'basicAuth'. (see [below for nested schema](#nestedatt--spec--remote_read--oauth2)) - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `read_recent` (Boolean) Whether reads should be made for queries for time ranges thatthe local storage should have complete data for. - `remote_timeout` (String) Timeout for requests to the remote read endpoint. - `required_matchers` (Map of String) An optional list of equality matchers which have to be presentin a selector to query the remote read endpoint. @@ -2561,7 +2570,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--remote_read--oauth2--tls_config)) @@ -2835,7 +2844,7 @@ Optional: - `oauth2` (Attributes) OAuth2 configuration for the URL.It requires Prometheus >= v2.27.0.Cannot be set at the same time as 'sigv4', 'authorization', 'basicAuth', or 'azureAd'. (see [below for nested schema](#nestedatt--spec--remote_write--oauth2)) - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `queue_config` (Attributes) QueueConfig allows tuning of the remote write queue parameters. (see [below for nested schema](#nestedatt--spec--remote_write--queue_config)) - `remote_timeout` (String) Timeout for requests to the remote write endpoint. - `send_exemplars` (Boolean) Enables sending of exemplars over remote write. Note thatexemplar-storage itself must be enabled using the 'spec.enableFeature'option for exemplars to be scraped in the first place.It requires Prometheus >= v2.27.0. @@ -2976,7 +2985,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--remote_write--oauth2--tls_config)) diff --git a/docs/data-sources/monitoring_coreos_com_scrape_config_v1alpha1_manifest.md b/docs/data-sources/monitoring_coreos_com_scrape_config_v1alpha1_manifest.md index 19cac0f28..5269f1e41 100644 --- a/docs/data-sources/monitoring_coreos_com_scrape_config_v1alpha1_manifest.md +++ b/docs/data-sources/monitoring_coreos_com_scrape_config_v1alpha1_manifest.md @@ -89,7 +89,7 @@ Optional: - `params` (Map of List of String) Optional HTTP URL parameters - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `puppet_dbsd_configs` (Attributes List) PuppetDBSDConfigs defines a list of PuppetDB service discovery configurations. (see [below for nested schema](#nestedatt--spec--puppet_dbsd_configs)) - `relabelings` (Attributes List) RelabelConfigs defines how to rewrite the target's labels before scraping.Prometheus Operator automatically adds relabelings for a few standard Kubernetes fields.The original scrape job's name is available via the '__tmp_prometheus_job_name' label.More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config (see [below for nested schema](#nestedatt--spec--relabelings)) - `sample_limit` (Number) SampleLimit defines per-scrape limit on number of scraped samples that will be accepted. @@ -215,7 +215,7 @@ Optional: - `partition` (String) Admin Partitions are only supported in Consul Enterprise. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `refresh_interval` (String) The time after which the provided names are refreshed.On large setup it might be a good idea to increase this value because the catalog will change all the time.If unset, Prometheus uses its default value. - `scheme` (String) HTTP Scheme default 'http' - `services` (List of String) A list of services for which targets are retrieved. If omitted, all services are scraped. @@ -296,7 +296,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--consul_sd_configs--oauth2--tls_config)) @@ -570,7 +570,7 @@ Optional: - `port` (Number) The port to scrape metrics from. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `refresh_interval` (String) Refresh interval to re-read the instance list. - `tls_config` (Attributes) TLS configuration applying to the target HTTP endpoint. (see [below for nested schema](#nestedatt--spec--digital_ocean_sd_configs--tls_config)) @@ -611,7 +611,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--digital_ocean_sd_configs--oauth2--tls_config)) @@ -893,7 +893,7 @@ Optional: - `port` (Number) The port to scrape metrics from. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `refresh_interval` (String) Time after which the container is refreshed. - `tls_config` (Attributes) TLS configuration applying to the target HTTP endpoint. (see [below for nested schema](#nestedatt--spec--docker_sd_configs--tls_config)) @@ -978,7 +978,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--docker_sd_configs--oauth2--tls_config)) @@ -1246,7 +1246,7 @@ Optional: - `port` (Number) The port to scrape metrics from, when 'role' is nodes, and for discoveredtasks and services that don't have published ports. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `refresh_interval` (String) The time after which the service discovery data is refreshed. - `tls_config` (Attributes) TLS configuration to use on every scrape request (see [below for nested schema](#nestedatt--spec--docker_swarm_sd_configs--tls_config)) @@ -1331,7 +1331,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--docker_swarm_sd_configs--oauth2--tls_config)) @@ -1585,12 +1585,19 @@ Optional: Optional: - `access_key` (Attributes) AccessKey is the AWS API key. (see [below for nested schema](#nestedatt--spec--ec2_sd_configs--access_key)) -- `filters` (Attributes List) Filters can be used optionally to filter the instance list by other criteria.Available filter criteria can be found here:https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.htmlFilter API documentation: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Filter.html (see [below for nested schema](#nestedatt--spec--ec2_sd_configs--filters)) +- `enable_http2` (Boolean) Whether to enable HTTP2.It requires Prometheus >= v2.41.0 +- `filters` (Attributes List) Filters can be used optionally to filter the instance list by other criteria.Available filter criteria can be found here:https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.htmlFilter API documentation: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Filter.htmlIt requires Prometheus >= v2.3.0 (see [below for nested schema](#nestedatt--spec--ec2_sd_configs--filters)) +- `follow_redirects` (Boolean) Configure whether HTTP requests follow HTTP 3xx redirects.It requires Prometheus >= v2.41.0 +- `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `port` (Number) The port to scrape metrics from. If using the public IP address, this mustinstead be specified in the relabeling rule. +- `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. +- `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `refresh_interval` (String) RefreshInterval configures the refresh interval at which Prometheus will re-read the instance list. -- `region` (String) The AWS region +- `region` (String) The AWS region. - `role_arn` (String) AWS Role ARN, an alternative to using AWS API keys. - `secret_key` (Attributes) SecretKey is the AWS API secret. (see [below for nested schema](#nestedatt--spec--ec2_sd_configs--secret_key)) +- `tls_config` (Attributes) TLS configuration to connect to the AWS EC2 API.It requires Prometheus >= v2.41.0 (see [below for nested schema](#nestedatt--spec--ec2_sd_configs--tls_config)) ### Nested Schema for `spec.ec2_sd_configs.access_key` @@ -1627,6 +1634,103 @@ Optional: - `optional` (Boolean) Specify whether the Secret or its key must be defined + +### Nested Schema for `spec.ec2_sd_configs.tls_config` + +Optional: + +- `ca` (Attributes) Certificate authority used when verifying server certificates. (see [below for nested schema](#nestedatt--spec--ec2_sd_configs--tls_config--ca)) +- `cert` (Attributes) Client certificate to present when doing client-authentication. (see [below for nested schema](#nestedatt--spec--ec2_sd_configs--tls_config--cert)) +- `insecure_skip_verify` (Boolean) Disable target certificate validation. +- `key_secret` (Attributes) Secret containing the client key file for the targets. (see [below for nested schema](#nestedatt--spec--ec2_sd_configs--tls_config--key_secret)) +- `max_version` (String) Maximum acceptable TLS version.It requires Prometheus >= v2.41.0. +- `min_version` (String) Minimum acceptable TLS version.It requires Prometheus >= v2.35.0. +- `server_name` (String) Used to verify the hostname for the targets. + + +### Nested Schema for `spec.ec2_sd_configs.tls_config.ca` + +Optional: + +- `config_map` (Attributes) ConfigMap containing data to use for the targets. (see [below for nested schema](#nestedatt--spec--ec2_sd_configs--tls_config--ca--config_map)) +- `secret` (Attributes) Secret containing data to use for the targets. (see [below for nested schema](#nestedatt--spec--ec2_sd_configs--tls_config--ca--secret)) + + +### Nested Schema for `spec.ec2_sd_configs.tls_config.ca.config_map` + +Required: + +- `key` (String) The key to select. + +Optional: + +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. +- `optional` (Boolean) Specify whether the ConfigMap or its key must be defined + + + +### Nested Schema for `spec.ec2_sd_configs.tls_config.ca.secret` + +Required: + +- `key` (String) The key of the secret to select from. Must be a valid secret key. + +Optional: + +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. +- `optional` (Boolean) Specify whether the Secret or its key must be defined + + + + +### Nested Schema for `spec.ec2_sd_configs.tls_config.cert` + +Optional: + +- `config_map` (Attributes) ConfigMap containing data to use for the targets. (see [below for nested schema](#nestedatt--spec--ec2_sd_configs--tls_config--cert--config_map)) +- `secret` (Attributes) Secret containing data to use for the targets. (see [below for nested schema](#nestedatt--spec--ec2_sd_configs--tls_config--cert--secret)) + + +### Nested Schema for `spec.ec2_sd_configs.tls_config.cert.config_map` + +Required: + +- `key` (String) The key to select. + +Optional: + +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. +- `optional` (Boolean) Specify whether the ConfigMap or its key must be defined + + + +### Nested Schema for `spec.ec2_sd_configs.tls_config.cert.secret` + +Required: + +- `key` (String) The key of the secret to select from. Must be a valid secret key. + +Optional: + +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. +- `optional` (Boolean) Specify whether the Secret or its key must be defined + + + + +### Nested Schema for `spec.ec2_sd_configs.tls_config.key_secret` + +Required: + +- `key` (String) The key of the secret to select from. Must be a valid secret key. + +Optional: + +- `name` (String) Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. +- `optional` (Boolean) Specify whether the Secret or its key must be defined + + + ### Nested Schema for `spec.eureka_sd_configs` @@ -1645,7 +1749,7 @@ Optional: - `oauth2` (Attributes) Optional OAuth 2.0 configuration.Cannot be set at the same time as 'authorization' or 'basic_auth'. (see [below for nested schema](#nestedatt--spec--eureka_sd_configs--oauth2)) - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `refresh_interval` (String) Refresh interval to re-read the instance list. - `tls_config` (Attributes) TLS configuration applying to the target HTTP endpoint. (see [below for nested schema](#nestedatt--spec--eureka_sd_configs--tls_config)) @@ -1721,7 +1825,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--eureka_sd_configs--oauth2--tls_config)) @@ -2015,7 +2119,7 @@ Optional: - `port` (Number) The port to scrape metrics from. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `refresh_interval` (String) The time after which the servers are refreshed. - `tls_config` (Attributes) TLS configuration to use on every scrape request. (see [below for nested schema](#nestedatt--spec--hetzner_sd_configs--tls_config)) @@ -2091,7 +2195,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--hetzner_sd_configs--oauth2--tls_config)) @@ -2353,7 +2457,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `refresh_interval` (String) RefreshInterval configures the refresh interval at which Prometheus will re-query theendpoint to update the target list. - `tls_config` (Attributes) TLS configuration applying to the target HTTP endpoint. (see [below for nested schema](#nestedatt--spec--http_sd_configs--tls_config)) @@ -2532,7 +2636,7 @@ Optional: - `oauth2` (Attributes) Optional OAuth 2.0 configuration.Cannot be set at the same time as 'authorization', or 'basicAuth'. (see [below for nested schema](#nestedatt--spec--kubernetes_sd_configs--oauth2)) - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `selectors` (Attributes List) Selector to select objects.It requires Prometheus >= v2.17.0 (see [below for nested schema](#nestedatt--spec--kubernetes_sd_configs--selectors)) - `tls_config` (Attributes) TLS configuration to connect to the Kubernetes API. (see [below for nested schema](#nestedatt--spec--kubernetes_sd_configs--tls_config)) @@ -2625,7 +2729,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--kubernetes_sd_configs--oauth2--tls_config)) @@ -2905,7 +3009,7 @@ Optional: - `oauth2` (Attributes) Optional OAuth 2.0 configuration.Cannot be set at the same time as 'authorization', or 'basicAuth'. (see [below for nested schema](#nestedatt--spec--kuma_sd_configs--oauth2)) - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `refresh_interval` (String) The time to wait between polling update requests. - `tls_config` (Attributes) TLS configuration to use on every scrape request (see [below for nested schema](#nestedatt--spec--kuma_sd_configs--tls_config)) @@ -2981,7 +3085,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--kuma_sd_configs--oauth2--tls_config)) @@ -3245,7 +3349,7 @@ Optional: - `port` (Number) Port to scrape the metrics from.If using the public IP address, this must instead be specified in the relabeling rule. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `refresh_interval` (String) Refresh interval to re-read the list of instances. - `region` (String) The AWS region. - `role_arn` (String) AWS Role ARN, an alternative to using AWS API keys. @@ -3337,7 +3441,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--light_sail_sd_configs--oauth2--tls_config)) @@ -3611,7 +3715,7 @@ Optional: - `port` (Number) Default port to scrape metrics from. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `refresh_interval` (String) Time after which the linode instances are refreshed. - `region` (String) Optional region to filter on. - `tag_separator` (String) The string by which Linode Instance tags are joined into the tag label. @@ -3654,7 +3758,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--linode_sd_configs--oauth2--tls_config)) @@ -3935,7 +4039,7 @@ Optional: - `oauth2` (Attributes) Optional OAuth 2.0 configuration.Cannot be set at the same time as 'authorization' or 'basic_auth'. (see [below for nested schema](#nestedatt--spec--nomad_sd_configs--oauth2)) - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `refresh_interval` (String) Duration is a valid time duration that can be parsed by Prometheus model.ParseDuration() function.Supported units: y, w, d, h, m, s, msExamples: '30s', '1m', '1h20m15s', '15d' - `region` (String) - `tag_separator` (String) @@ -4013,7 +4117,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--nomad_sd_configs--oauth2--tls_config)) @@ -4276,7 +4380,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--oauth2--tls_config)) @@ -4639,7 +4743,7 @@ Optional: - `port` (Number) Port to scrape the metrics from. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `refresh_interval` (String) Refresh interval to re-read the list of resources. - `tls_config` (Attributes) TLS configuration to connect to the Puppet DB. (see [below for nested schema](#nestedatt--spec--puppet_dbsd_configs--tls_config)) @@ -4715,7 +4819,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--puppet_dbsd_configs--oauth2--tls_config)) @@ -4997,7 +5101,7 @@ Optional: - `port` (Number) The port to scrape metrics from. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `refresh_interval` (String) Refresh interval to re-read the list of instances. - `tags_filter` (List of String) TagsFilter specify a tag filter (a server needs to have all defined tags to be listed) to apply on the server listing request. - `tls_config` (Attributes) TLS configuration to use on every scrape request (see [below for nested schema](#nestedatt--spec--scaleway_sd_configs--tls_config)) diff --git a/docs/data-sources/monitoring_coreos_com_service_monitor_v1_manifest.md b/docs/data-sources/monitoring_coreos_com_service_monitor_v1_manifest.md index 59f548531..4d19f8668 100644 --- a/docs/data-sources/monitoring_coreos_com_service_monitor_v1_manifest.md +++ b/docs/data-sources/monitoring_coreos_com_service_monitor_v1_manifest.md @@ -212,7 +212,7 @@ Optional: - `no_proxy` (String) 'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0. - `proxy_connect_header` (Map of String) ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0. - `proxy_from_environment` (Boolean) Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0. -- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0. +- `proxy_url` (String) 'proxyURL' defines the HTTP proxy server to use. - `scopes` (List of String) 'scopes' defines the OAuth2 scopes used for the token request. - `tls_config` (Attributes) TLS configuration to use when connecting to the OAuth2 server.It requires Prometheus >= v2.43.0. (see [below for nested schema](#nestedatt--spec--endpoints--oauth2--tls_config)) diff --git a/docs/data-sources/org_eclipse_che_che_cluster_v2_manifest.md b/docs/data-sources/org_eclipse_che_che_cluster_v2_manifest.md index 4e0166c17..e0ac9b54b 100644 --- a/docs/data-sources/org_eclipse_che_che_cluster_v2_manifest.md +++ b/docs/data-sources/org_eclipse_che_che_cluster_v2_manifest.md @@ -1494,6 +1494,7 @@ Optional: Optional: +- `disable_init_container` (Boolean) Determines whether the init container that initializes the persistent home directory should be disabled.When the '/home/user' directory is persisted, the init container is used to initialize the directory beforethe workspace starts. If set to true, the init container will not be created.Disabling the init container allows home persistence to be initialized by the entrypoint present in the workspace's first container component.This field is not used if the 'devEnvironments.persistUserHome.enabled' field is set to false.The init container is enabled by default. - `enabled` (Boolean) Determines whether the user home directory in workspaces should persist betweenworkspace shutdown and startup.Must be used with the 'per-user' or 'per-workspace' PVC strategy in order to take effect.Disabled by default. diff --git a/docs/data-sources/ps_percona_com_percona_server_my_sql_v1alpha1_manifest.md b/docs/data-sources/ps_percona_com_percona_server_my_sql_v1alpha1_manifest.md index 59c827dd6..d422c29ce 100644 --- a/docs/data-sources/ps_percona_com_percona_server_my_sql_v1alpha1_manifest.md +++ b/docs/data-sources/ps_percona_com_percona_server_my_sql_v1alpha1_manifest.md @@ -66,7 +66,6 @@ Optional: - `pmm` (Attributes) (see [below for nested schema](#nestedatt--spec--pmm)) - `proxy` (Attributes) (see [below for nested schema](#nestedatt--spec--proxy)) - `secrets_name` (String) -- `ssl_internal_secret_name` (String) - `ssl_secret_name` (String) - `tls` (Attributes) (see [below for nested schema](#nestedatt--spec--tls)) - `toolkit` (Attributes) (see [below for nested schema](#nestedatt--spec--toolkit)) @@ -89,7 +88,9 @@ Optional: - `image_pull_policy` (String) - `image_pull_secrets` (Attributes List) (see [below for nested schema](#nestedatt--spec--backup--image_pull_secrets)) - `init_image` (String) +- `pitr` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr)) - `resources` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--resources)) +- `schedule` (Attributes List) (see [below for nested schema](#nestedatt--spec--backup--schedule)) - `service_account_name` (String) - `storages` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--storages)) @@ -175,6 +176,1124 @@ Optional: - `name` (String) + +### Nested Schema for `spec.backup.pitr` + +Optional: + +- `binlog_server` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server)) +- `enabled` (Boolean) + + +### Nested Schema for `spec.backup.pitr.binlog_server` + +Required: + +- `image` (String) +- `storage` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--storage)) + +Optional: + +- `affinity` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--affinity)) +- `annotations` (Map of String) +- `configuration` (String) +- `connect_timeout` (Number) +- `container_security_context` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--container_security_context)) +- `env` (Attributes List) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--env)) +- `env_from` (Attributes List) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--env_from)) +- `grace_period` (Number) +- `idle_time` (Number) +- `image_pull_policy` (String) +- `image_pull_secrets` (Attributes List) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--image_pull_secrets)) +- `init_image` (String) +- `labels` (Map of String) +- `liveness_probe` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--liveness_probe)) +- `node_selector` (Map of String) +- `pod_security_context` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--pod_security_context)) +- `priority_class_name` (String) +- `read_timeout` (Number) +- `readiness_probe` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--readiness_probe)) +- `resources` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--resources)) +- `runtime_class_name` (String) +- `scheduler_name` (String) +- `server_id` (Number) +- `service_account_name` (String) +- `size` (Number) +- `startup_probe` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--startup_probe)) +- `tolerations` (Attributes List) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--tolerations)) +- `topology_spread_constraints` (Attributes List) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--topology_spread_constraints)) +- `volume_spec` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--volume_spec)) +- `write_timeout` (Number) + + +### Nested Schema for `spec.backup.pitr.binlog_server.storage` + +Optional: + +- `s3` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--storage--s3)) + + +### Nested Schema for `spec.backup.pitr.binlog_server.storage.s3` + +Required: + +- `bucket` (String) +- `credentials_secret` (String) + +Optional: + +- `endpoint_url` (String) +- `prefix` (String) +- `region` (String) +- `storage_class` (String) + + + + +### Nested Schema for `spec.backup.pitr.binlog_server.affinity` + +Optional: + +- `advanced` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--affinity--advanced)) +- `anti_affinity_topology_key` (String) + + +### Nested Schema for `spec.backup.pitr.binlog_server.affinity.advanced` + +Optional: + +- `node_affinity` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--affinity--advanced--node_affinity)) +- `pod_affinity` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--affinity--advanced--pod_affinity)) +- `pod_anti_affinity` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--affinity--advanced--pod_anti_affinity)) + + +### Nested Schema for `spec.backup.pitr.binlog_server.affinity.advanced.node_affinity` + +Optional: + +- `preferred_during_scheduling_ignored_during_execution` (Attributes List) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--affinity--advanced--node_affinity--preferred_during_scheduling_ignored_during_execution)) +- `required_during_scheduling_ignored_during_execution` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--affinity--advanced--node_affinity--required_during_scheduling_ignored_during_execution)) + + +### Nested Schema for `spec.backup.pitr.binlog_server.affinity.advanced.node_affinity.preferred_during_scheduling_ignored_during_execution` + +Required: + +- `preference` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--affinity--advanced--node_affinity--preferred_during_scheduling_ignored_during_execution--preference)) +- `weight` (Number) + + +### Nested Schema for `spec.backup.pitr.binlog_server.affinity.advanced.node_affinity.preferred_during_scheduling_ignored_during_execution.preference` + +Optional: + +- `match_expressions` (Attributes List) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--affinity--advanced--node_affinity--preferred_during_scheduling_ignored_during_execution--preference--match_expressions)) +- `match_fields` (Attributes List) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--affinity--advanced--node_affinity--preferred_during_scheduling_ignored_during_execution--preference--match_fields)) + + +### Nested Schema for `spec.backup.pitr.binlog_server.affinity.advanced.node_affinity.preferred_during_scheduling_ignored_during_execution.preference.match_expressions` + +Required: + +- `key` (String) +- `operator` (String) + +Optional: + +- `values` (List of String) + + + +### Nested Schema for `spec.backup.pitr.binlog_server.affinity.advanced.node_affinity.preferred_during_scheduling_ignored_during_execution.preference.match_fields` + +Required: + +- `key` (String) +- `operator` (String) + +Optional: + +- `values` (List of String) + + + + + +### Nested Schema for `spec.backup.pitr.binlog_server.affinity.advanced.node_affinity.required_during_scheduling_ignored_during_execution` + +Required: + +- `node_selector_terms` (Attributes List) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--affinity--advanced--node_affinity--required_during_scheduling_ignored_during_execution--node_selector_terms)) + + +### Nested Schema for `spec.backup.pitr.binlog_server.affinity.advanced.node_affinity.required_during_scheduling_ignored_during_execution.node_selector_terms` + +Optional: + +- `match_expressions` (Attributes List) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--affinity--advanced--node_affinity--required_during_scheduling_ignored_during_execution--node_selector_terms--match_expressions)) +- `match_fields` (Attributes List) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--affinity--advanced--node_affinity--required_during_scheduling_ignored_during_execution--node_selector_terms--match_fields)) + + +### Nested Schema for `spec.backup.pitr.binlog_server.affinity.advanced.node_affinity.required_during_scheduling_ignored_during_execution.node_selector_terms.match_expressions` + +Required: + +- `key` (String) +- `operator` (String) + +Optional: + +- `values` (List of String) + + + +### Nested Schema for `spec.backup.pitr.binlog_server.affinity.advanced.node_affinity.required_during_scheduling_ignored_during_execution.node_selector_terms.match_fields` + +Required: + +- `key` (String) +- `operator` (String) + +Optional: + +- `values` (List of String) + + + + + + +### Nested Schema for `spec.backup.pitr.binlog_server.affinity.advanced.pod_affinity` + +Optional: + +- `preferred_during_scheduling_ignored_during_execution` (Attributes List) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--affinity--advanced--pod_affinity--preferred_during_scheduling_ignored_during_execution)) +- `required_during_scheduling_ignored_during_execution` (Attributes List) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--affinity--advanced--pod_affinity--required_during_scheduling_ignored_during_execution)) + + +### Nested Schema for `spec.backup.pitr.binlog_server.affinity.advanced.pod_affinity.preferred_during_scheduling_ignored_during_execution` + +Required: + +- `pod_affinity_term` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--affinity--advanced--pod_affinity--preferred_during_scheduling_ignored_during_execution--pod_affinity_term)) +- `weight` (Number) + + +### Nested Schema for `spec.backup.pitr.binlog_server.affinity.advanced.pod_affinity.preferred_during_scheduling_ignored_during_execution.pod_affinity_term` + +Required: + +- `topology_key` (String) + +Optional: + +- `label_selector` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--affinity--advanced--pod_affinity--preferred_during_scheduling_ignored_during_execution--pod_affinity_term--label_selector)) +- `match_label_keys` (List of String) +- `mismatch_label_keys` (List of String) +- `namespace_selector` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--affinity--advanced--pod_affinity--preferred_during_scheduling_ignored_during_execution--pod_affinity_term--namespace_selector)) +- `namespaces` (List of String) + + +### Nested Schema for `spec.backup.pitr.binlog_server.affinity.advanced.pod_affinity.preferred_during_scheduling_ignored_during_execution.pod_affinity_term.label_selector` + +Optional: + +- `match_expressions` (Attributes List) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--affinity--advanced--pod_affinity--preferred_during_scheduling_ignored_during_execution--pod_affinity_term--label_selector--match_expressions)) +- `match_labels` (Map of String) + + +### Nested Schema for `spec.backup.pitr.binlog_server.affinity.advanced.pod_affinity.preferred_during_scheduling_ignored_during_execution.pod_affinity_term.label_selector.match_expressions` + +Required: + +- `key` (String) +- `operator` (String) + +Optional: + +- `values` (List of String) + + + + +### Nested Schema for `spec.backup.pitr.binlog_server.affinity.advanced.pod_affinity.preferred_during_scheduling_ignored_during_execution.pod_affinity_term.namespace_selector` + +Optional: + +- `match_expressions` (Attributes List) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--affinity--advanced--pod_affinity--preferred_during_scheduling_ignored_during_execution--pod_affinity_term--namespace_selector--match_expressions)) +- `match_labels` (Map of String) + + +### Nested Schema for `spec.backup.pitr.binlog_server.affinity.advanced.pod_affinity.preferred_during_scheduling_ignored_during_execution.pod_affinity_term.namespace_selector.match_expressions` + +Required: + +- `key` (String) +- `operator` (String) + +Optional: + +- `values` (List of String) + + + + + + +### Nested Schema for `spec.backup.pitr.binlog_server.affinity.advanced.pod_affinity.required_during_scheduling_ignored_during_execution` + +Required: + +- `topology_key` (String) + +Optional: + +- `label_selector` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--affinity--advanced--pod_affinity--required_during_scheduling_ignored_during_execution--label_selector)) +- `match_label_keys` (List of String) +- `mismatch_label_keys` (List of String) +- `namespace_selector` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--affinity--advanced--pod_affinity--required_during_scheduling_ignored_during_execution--namespace_selector)) +- `namespaces` (List of String) + + +### Nested Schema for `spec.backup.pitr.binlog_server.affinity.advanced.pod_affinity.required_during_scheduling_ignored_during_execution.label_selector` + +Optional: + +- `match_expressions` (Attributes List) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--affinity--advanced--pod_affinity--required_during_scheduling_ignored_during_execution--label_selector--match_expressions)) +- `match_labels` (Map of String) + + +### Nested Schema for `spec.backup.pitr.binlog_server.affinity.advanced.pod_affinity.required_during_scheduling_ignored_during_execution.label_selector.match_expressions` + +Required: + +- `key` (String) +- `operator` (String) + +Optional: + +- `values` (List of String) + + + + +### Nested Schema for `spec.backup.pitr.binlog_server.affinity.advanced.pod_affinity.required_during_scheduling_ignored_during_execution.namespace_selector` + +Optional: + +- `match_expressions` (Attributes List) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--affinity--advanced--pod_affinity--required_during_scheduling_ignored_during_execution--namespace_selector--match_expressions)) +- `match_labels` (Map of String) + + +### Nested Schema for `spec.backup.pitr.binlog_server.affinity.advanced.pod_affinity.required_during_scheduling_ignored_during_execution.namespace_selector.match_expressions` + +Required: + +- `key` (String) +- `operator` (String) + +Optional: + +- `values` (List of String) + + + + + + +### Nested Schema for `spec.backup.pitr.binlog_server.affinity.advanced.pod_anti_affinity` + +Optional: + +- `preferred_during_scheduling_ignored_during_execution` (Attributes List) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--affinity--advanced--pod_anti_affinity--preferred_during_scheduling_ignored_during_execution)) +- `required_during_scheduling_ignored_during_execution` (Attributes List) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--affinity--advanced--pod_anti_affinity--required_during_scheduling_ignored_during_execution)) + + +### Nested Schema for `spec.backup.pitr.binlog_server.affinity.advanced.pod_anti_affinity.preferred_during_scheduling_ignored_during_execution` + +Required: + +- `pod_affinity_term` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--affinity--advanced--pod_anti_affinity--preferred_during_scheduling_ignored_during_execution--pod_affinity_term)) +- `weight` (Number) + + +### Nested Schema for `spec.backup.pitr.binlog_server.affinity.advanced.pod_anti_affinity.preferred_during_scheduling_ignored_during_execution.pod_affinity_term` + +Required: + +- `topology_key` (String) + +Optional: + +- `label_selector` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--affinity--advanced--pod_anti_affinity--preferred_during_scheduling_ignored_during_execution--pod_affinity_term--label_selector)) +- `match_label_keys` (List of String) +- `mismatch_label_keys` (List of String) +- `namespace_selector` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--affinity--advanced--pod_anti_affinity--preferred_during_scheduling_ignored_during_execution--pod_affinity_term--namespace_selector)) +- `namespaces` (List of String) + + +### Nested Schema for `spec.backup.pitr.binlog_server.affinity.advanced.pod_anti_affinity.preferred_during_scheduling_ignored_during_execution.pod_affinity_term.label_selector` + +Optional: + +- `match_expressions` (Attributes List) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--affinity--advanced--pod_anti_affinity--preferred_during_scheduling_ignored_during_execution--pod_affinity_term--label_selector--match_expressions)) +- `match_labels` (Map of String) + + +### Nested Schema for `spec.backup.pitr.binlog_server.affinity.advanced.pod_anti_affinity.preferred_during_scheduling_ignored_during_execution.pod_affinity_term.label_selector.match_expressions` + +Required: + +- `key` (String) +- `operator` (String) + +Optional: + +- `values` (List of String) + + + + +### Nested Schema for `spec.backup.pitr.binlog_server.affinity.advanced.pod_anti_affinity.preferred_during_scheduling_ignored_during_execution.pod_affinity_term.namespace_selector` + +Optional: + +- `match_expressions` (Attributes List) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--affinity--advanced--pod_anti_affinity--preferred_during_scheduling_ignored_during_execution--pod_affinity_term--namespace_selector--match_expressions)) +- `match_labels` (Map of String) + + +### Nested Schema for `spec.backup.pitr.binlog_server.affinity.advanced.pod_anti_affinity.preferred_during_scheduling_ignored_during_execution.pod_affinity_term.namespace_selector.match_expressions` + +Required: + +- `key` (String) +- `operator` (String) + +Optional: + +- `values` (List of String) + + + + + + +### Nested Schema for `spec.backup.pitr.binlog_server.affinity.advanced.pod_anti_affinity.required_during_scheduling_ignored_during_execution` + +Required: + +- `topology_key` (String) + +Optional: + +- `label_selector` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--affinity--advanced--pod_anti_affinity--required_during_scheduling_ignored_during_execution--label_selector)) +- `match_label_keys` (List of String) +- `mismatch_label_keys` (List of String) +- `namespace_selector` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--affinity--advanced--pod_anti_affinity--required_during_scheduling_ignored_during_execution--namespace_selector)) +- `namespaces` (List of String) + + +### Nested Schema for `spec.backup.pitr.binlog_server.affinity.advanced.pod_anti_affinity.required_during_scheduling_ignored_during_execution.label_selector` + +Optional: + +- `match_expressions` (Attributes List) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--affinity--advanced--pod_anti_affinity--required_during_scheduling_ignored_during_execution--label_selector--match_expressions)) +- `match_labels` (Map of String) + + +### Nested Schema for `spec.backup.pitr.binlog_server.affinity.advanced.pod_anti_affinity.required_during_scheduling_ignored_during_execution.label_selector.match_expressions` + +Required: + +- `key` (String) +- `operator` (String) + +Optional: + +- `values` (List of String) + + + + +### Nested Schema for `spec.backup.pitr.binlog_server.affinity.advanced.pod_anti_affinity.required_during_scheduling_ignored_during_execution.namespace_selector` + +Optional: + +- `match_expressions` (Attributes List) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--affinity--advanced--pod_anti_affinity--required_during_scheduling_ignored_during_execution--namespace_selector--match_expressions)) +- `match_labels` (Map of String) + + +### Nested Schema for `spec.backup.pitr.binlog_server.affinity.advanced.pod_anti_affinity.required_during_scheduling_ignored_during_execution.namespace_selector.match_expressions` + +Required: + +- `key` (String) +- `operator` (String) + +Optional: + +- `values` (List of String) + + + + + + + + +### Nested Schema for `spec.backup.pitr.binlog_server.container_security_context` + +Optional: + +- `allow_privilege_escalation` (Boolean) +- `app_armor_profile` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--container_security_context--app_armor_profile)) +- `capabilities` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--container_security_context--capabilities)) +- `privileged` (Boolean) +- `proc_mount` (String) +- `read_only_root_filesystem` (Boolean) +- `run_as_group` (Number) +- `run_as_non_root` (Boolean) +- `run_as_user` (Number) +- `se_linux_options` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--container_security_context--se_linux_options)) +- `seccomp_profile` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--container_security_context--seccomp_profile)) +- `windows_options` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--container_security_context--windows_options)) + + +### Nested Schema for `spec.backup.pitr.binlog_server.container_security_context.app_armor_profile` + +Required: + +- `type` (String) + +Optional: + +- `localhost_profile` (String) + + + +### Nested Schema for `spec.backup.pitr.binlog_server.container_security_context.capabilities` + +Optional: + +- `add` (List of String) +- `drop` (List of String) + + + +### Nested Schema for `spec.backup.pitr.binlog_server.container_security_context.se_linux_options` + +Optional: + +- `level` (String) +- `role` (String) +- `type` (String) +- `user` (String) + + + +### Nested Schema for `spec.backup.pitr.binlog_server.container_security_context.seccomp_profile` + +Required: + +- `type` (String) + +Optional: + +- `localhost_profile` (String) + + + +### Nested Schema for `spec.backup.pitr.binlog_server.container_security_context.windows_options` + +Optional: + +- `gmsa_credential_spec` (String) +- `gmsa_credential_spec_name` (String) +- `host_process` (Boolean) +- `run_as_user_name` (String) + + + + +### Nested Schema for `spec.backup.pitr.binlog_server.env` + +Required: + +- `name` (String) + +Optional: + +- `value` (String) +- `value_from` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--env--value_from)) + + +### Nested Schema for `spec.backup.pitr.binlog_server.env.value_from` + +Optional: + +- `config_map_key_ref` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--env--value_from--config_map_key_ref)) +- `field_ref` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--env--value_from--field_ref)) +- `resource_field_ref` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--env--value_from--resource_field_ref)) +- `secret_key_ref` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--env--value_from--secret_key_ref)) + + +### Nested Schema for `spec.backup.pitr.binlog_server.env.value_from.config_map_key_ref` + +Required: + +- `key` (String) + +Optional: + +- `name` (String) +- `optional` (Boolean) + + + +### Nested Schema for `spec.backup.pitr.binlog_server.env.value_from.field_ref` + +Required: + +- `field_path` (String) + +Optional: + +- `api_version` (String) + + + +### Nested Schema for `spec.backup.pitr.binlog_server.env.value_from.resource_field_ref` + +Required: + +- `resource` (String) + +Optional: + +- `container_name` (String) +- `divisor` (String) + + + +### Nested Schema for `spec.backup.pitr.binlog_server.env.value_from.secret_key_ref` + +Required: + +- `key` (String) + +Optional: + +- `name` (String) +- `optional` (Boolean) + + + + + +### Nested Schema for `spec.backup.pitr.binlog_server.env_from` + +Optional: + +- `config_map_ref` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--env_from--config_map_ref)) +- `prefix` (String) +- `secret_ref` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--env_from--secret_ref)) + + +### Nested Schema for `spec.backup.pitr.binlog_server.env_from.config_map_ref` + +Optional: + +- `name` (String) +- `optional` (Boolean) + + + +### Nested Schema for `spec.backup.pitr.binlog_server.env_from.secret_ref` + +Optional: + +- `name` (String) +- `optional` (Boolean) + + + + +### Nested Schema for `spec.backup.pitr.binlog_server.image_pull_secrets` + +Optional: + +- `name` (String) + + + +### Nested Schema for `spec.backup.pitr.binlog_server.liveness_probe` + +Optional: + +- `exec` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--liveness_probe--exec)) +- `failure_threshold` (Number) +- `grpc` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--liveness_probe--grpc)) +- `http_get` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--liveness_probe--http_get)) +- `initial_delay_seconds` (Number) +- `period_seconds` (Number) +- `success_threshold` (Number) +- `tcp_socket` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--liveness_probe--tcp_socket)) +- `termination_grace_period_seconds` (Number) +- `timeout_seconds` (Number) + + +### Nested Schema for `spec.backup.pitr.binlog_server.liveness_probe.exec` + +Optional: + +- `command` (List of String) + + + +### Nested Schema for `spec.backup.pitr.binlog_server.liveness_probe.grpc` + +Required: + +- `port` (Number) + +Optional: + +- `service` (String) + + + +### Nested Schema for `spec.backup.pitr.binlog_server.liveness_probe.http_get` + +Required: + +- `port` (String) + +Optional: + +- `host` (String) +- `http_headers` (Attributes List) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--liveness_probe--http_get--http_headers)) +- `path` (String) +- `scheme` (String) + + +### Nested Schema for `spec.backup.pitr.binlog_server.liveness_probe.http_get.http_headers` + +Required: + +- `name` (String) +- `value` (String) + + + + +### Nested Schema for `spec.backup.pitr.binlog_server.liveness_probe.tcp_socket` + +Required: + +- `port` (String) + +Optional: + +- `host` (String) + + + + +### Nested Schema for `spec.backup.pitr.binlog_server.pod_security_context` + +Optional: + +- `app_armor_profile` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--pod_security_context--app_armor_profile)) +- `fs_group` (Number) +- `fs_group_change_policy` (String) +- `run_as_group` (Number) +- `run_as_non_root` (Boolean) +- `run_as_user` (Number) +- `se_linux_options` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--pod_security_context--se_linux_options)) +- `seccomp_profile` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--pod_security_context--seccomp_profile)) +- `supplemental_groups` (List of String) +- `sysctls` (Attributes List) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--pod_security_context--sysctls)) +- `windows_options` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--pod_security_context--windows_options)) + + +### Nested Schema for `spec.backup.pitr.binlog_server.pod_security_context.app_armor_profile` + +Required: + +- `type` (String) + +Optional: + +- `localhost_profile` (String) + + + +### Nested Schema for `spec.backup.pitr.binlog_server.pod_security_context.se_linux_options` + +Optional: + +- `level` (String) +- `role` (String) +- `type` (String) +- `user` (String) + + + +### Nested Schema for `spec.backup.pitr.binlog_server.pod_security_context.seccomp_profile` + +Required: + +- `type` (String) + +Optional: + +- `localhost_profile` (String) + + + +### Nested Schema for `spec.backup.pitr.binlog_server.pod_security_context.sysctls` + +Required: + +- `name` (String) +- `value` (String) + + + +### Nested Schema for `spec.backup.pitr.binlog_server.pod_security_context.windows_options` + +Optional: + +- `gmsa_credential_spec` (String) +- `gmsa_credential_spec_name` (String) +- `host_process` (Boolean) +- `run_as_user_name` (String) + + + + +### Nested Schema for `spec.backup.pitr.binlog_server.readiness_probe` + +Optional: + +- `exec` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--readiness_probe--exec)) +- `failure_threshold` (Number) +- `grpc` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--readiness_probe--grpc)) +- `http_get` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--readiness_probe--http_get)) +- `initial_delay_seconds` (Number) +- `period_seconds` (Number) +- `success_threshold` (Number) +- `tcp_socket` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--readiness_probe--tcp_socket)) +- `termination_grace_period_seconds` (Number) +- `timeout_seconds` (Number) + + +### Nested Schema for `spec.backup.pitr.binlog_server.readiness_probe.exec` + +Optional: + +- `command` (List of String) + + + +### Nested Schema for `spec.backup.pitr.binlog_server.readiness_probe.grpc` + +Required: + +- `port` (Number) + +Optional: + +- `service` (String) + + + +### Nested Schema for `spec.backup.pitr.binlog_server.readiness_probe.http_get` + +Required: + +- `port` (String) + +Optional: + +- `host` (String) +- `http_headers` (Attributes List) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--readiness_probe--http_get--http_headers)) +- `path` (String) +- `scheme` (String) + + +### Nested Schema for `spec.backup.pitr.binlog_server.readiness_probe.http_get.http_headers` + +Required: + +- `name` (String) +- `value` (String) + + + + +### Nested Schema for `spec.backup.pitr.binlog_server.readiness_probe.tcp_socket` + +Required: + +- `port` (String) + +Optional: + +- `host` (String) + + + + +### Nested Schema for `spec.backup.pitr.binlog_server.resources` + +Optional: + +- `claims` (Attributes List) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--resources--claims)) +- `limits` (Map of String) +- `requests` (Map of String) + + +### Nested Schema for `spec.backup.pitr.binlog_server.resources.claims` + +Required: + +- `name` (String) + + + + +### Nested Schema for `spec.backup.pitr.binlog_server.startup_probe` + +Optional: + +- `exec` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--startup_probe--exec)) +- `failure_threshold` (Number) +- `grpc` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--startup_probe--grpc)) +- `http_get` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--startup_probe--http_get)) +- `initial_delay_seconds` (Number) +- `period_seconds` (Number) +- `success_threshold` (Number) +- `tcp_socket` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--startup_probe--tcp_socket)) +- `termination_grace_period_seconds` (Number) +- `timeout_seconds` (Number) + + +### Nested Schema for `spec.backup.pitr.binlog_server.startup_probe.exec` + +Optional: + +- `command` (List of String) + + + +### Nested Schema for `spec.backup.pitr.binlog_server.startup_probe.grpc` + +Required: + +- `port` (Number) + +Optional: + +- `service` (String) + + + +### Nested Schema for `spec.backup.pitr.binlog_server.startup_probe.http_get` + +Required: + +- `port` (String) + +Optional: + +- `host` (String) +- `http_headers` (Attributes List) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--startup_probe--http_get--http_headers)) +- `path` (String) +- `scheme` (String) + + +### Nested Schema for `spec.backup.pitr.binlog_server.startup_probe.http_get.http_headers` + +Required: + +- `name` (String) +- `value` (String) + + + + +### Nested Schema for `spec.backup.pitr.binlog_server.startup_probe.tcp_socket` + +Required: + +- `port` (String) + +Optional: + +- `host` (String) + + + + +### Nested Schema for `spec.backup.pitr.binlog_server.tolerations` + +Optional: + +- `effect` (String) +- `key` (String) +- `operator` (String) +- `toleration_seconds` (Number) +- `value` (String) + + + +### Nested Schema for `spec.backup.pitr.binlog_server.topology_spread_constraints` + +Required: + +- `max_skew` (Number) +- `topology_key` (String) +- `when_unsatisfiable` (String) + +Optional: + +- `label_selector` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--topology_spread_constraints--label_selector)) +- `match_label_keys` (List of String) +- `min_domains` (Number) +- `node_affinity_policy` (String) +- `node_taints_policy` (String) + + +### Nested Schema for `spec.backup.pitr.binlog_server.topology_spread_constraints.label_selector` + +Optional: + +- `match_expressions` (Attributes List) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--topology_spread_constraints--label_selector--match_expressions)) +- `match_labels` (Map of String) + + +### Nested Schema for `spec.backup.pitr.binlog_server.topology_spread_constraints.label_selector.match_expressions` + +Required: + +- `key` (String) +- `operator` (String) + +Optional: + +- `values` (List of String) + + + + + +### Nested Schema for `spec.backup.pitr.binlog_server.volume_spec` + +Optional: + +- `empty_dir` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--volume_spec--empty_dir)) +- `host_path` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--volume_spec--host_path)) +- `persistent_volume_claim` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--volume_spec--persistent_volume_claim)) + + +### Nested Schema for `spec.backup.pitr.binlog_server.volume_spec.empty_dir` + +Optional: + +- `medium` (String) +- `size_limit` (String) + + + +### Nested Schema for `spec.backup.pitr.binlog_server.volume_spec.host_path` + +Required: + +- `path` (String) + +Optional: + +- `type` (String) + + + +### Nested Schema for `spec.backup.pitr.binlog_server.volume_spec.persistent_volume_claim` + +Optional: + +- `access_modes` (List of String) +- `data_source` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--volume_spec--persistent_volume_claim--data_source)) +- `data_source_ref` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--volume_spec--persistent_volume_claim--data_source_ref)) +- `resources` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--volume_spec--persistent_volume_claim--resources)) +- `selector` (Attributes) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--volume_spec--persistent_volume_claim--selector)) +- `storage_class_name` (String) +- `volume_attributes_class_name` (String) +- `volume_mode` (String) +- `volume_name` (String) + + +### Nested Schema for `spec.backup.pitr.binlog_server.volume_spec.persistent_volume_claim.data_source` + +Required: + +- `kind` (String) +- `name` (String) + +Optional: + +- `api_group` (String) + + + +### Nested Schema for `spec.backup.pitr.binlog_server.volume_spec.persistent_volume_claim.data_source_ref` + +Required: + +- `kind` (String) +- `name` (String) + +Optional: + +- `api_group` (String) +- `namespace` (String) + + + +### Nested Schema for `spec.backup.pitr.binlog_server.volume_spec.persistent_volume_claim.resources` + +Optional: + +- `limits` (Map of String) +- `requests` (Map of String) + + + +### Nested Schema for `spec.backup.pitr.binlog_server.volume_spec.persistent_volume_claim.selector` + +Optional: + +- `match_expressions` (Attributes List) (see [below for nested schema](#nestedatt--spec--backup--pitr--binlog_server--volume_spec--persistent_volume_claim--selector--match_expressions)) +- `match_labels` (Map of String) + + +### Nested Schema for `spec.backup.pitr.binlog_server.volume_spec.persistent_volume_claim.selector.match_expressions` + +Required: + +- `key` (String) +- `operator` (String) + +Optional: + +- `values` (List of String) + + + + + + + ### Nested Schema for `spec.backup.resources` @@ -193,6 +1312,17 @@ Required: + +### Nested Schema for `spec.backup.schedule` + +Optional: + +- `keep` (Number) +- `name` (String) +- `schedule` (String) +- `storage_name` (String) + + ### Nested Schema for `spec.backup.storages` diff --git a/docs/data-sources/source_toolkit_fluxcd_io_bucket_v1beta2_manifest.md b/docs/data-sources/source_toolkit_fluxcd_io_bucket_v1beta2_manifest.md index 2f63b94f7..7a5b27f0b 100644 --- a/docs/data-sources/source_toolkit_fluxcd_io_bucket_v1beta2_manifest.md +++ b/docs/data-sources/source_toolkit_fluxcd_io_bucket_v1beta2_manifest.md @@ -67,7 +67,7 @@ Optional: - `insecure` (Boolean) Insecure allows connecting to a non-TLS HTTP Endpoint. - `prefix` (String) Prefix to use for server-side filtering of files in the Bucket. - `provider` (String) Provider of the object storage bucket.Defaults to 'generic', which expects an S3 (API) compatible objectstorage. -- `proxy_secret_ref` (Attributes) ProxySecretRef specifies the Secret containing the proxy configurationto use while communicating with the Bucket server.Only supported for the generic provider. (see [below for nested schema](#nestedatt--spec--proxy_secret_ref)) +- `proxy_secret_ref` (Attributes) ProxySecretRef specifies the Secret containing the proxy configurationto use while communicating with the Bucket server. (see [below for nested schema](#nestedatt--spec--proxy_secret_ref)) - `region` (String) Region of the Endpoint where the BucketName is located in. - `secret_ref` (Attributes) SecretRef specifies the Secret containing authentication credentialsfor the Bucket. (see [below for nested schema](#nestedatt--spec--secret_ref)) - `sts` (Attributes) STS specifies the required configuration to use a Security TokenService for fetching temporary credentials to authenticate in aBucket provider.This field is only supported for the 'aws' provider. (see [below for nested schema](#nestedatt--spec--sts)) diff --git a/docs/data-sources/source_toolkit_fluxcd_io_oci_repository_v1beta2_manifest.md b/docs/data-sources/source_toolkit_fluxcd_io_oci_repository_v1beta2_manifest.md index e806a8b95..991303fe6 100644 --- a/docs/data-sources/source_toolkit_fluxcd_io_oci_repository_v1beta2_manifest.md +++ b/docs/data-sources/source_toolkit_fluxcd_io_oci_repository_v1beta2_manifest.md @@ -65,6 +65,7 @@ Optional: - `insecure` (Boolean) Insecure allows connecting to a non-TLS HTTP container registry. - `layer_selector` (Attributes) LayerSelector specifies which layer should be extracted from the OCI artifact.When not specified, the first layer found in the artifact is selected. (see [below for nested schema](#nestedatt--spec--layer_selector)) - `provider` (String) The provider used for authentication, can be 'aws', 'azure', 'gcp' or 'generic'.When not specified, defaults to 'generic'. +- `proxy_secret_ref` (Attributes) ProxySecretRef specifies the Secret containing the proxy configurationto use while communicating with the container registry. (see [below for nested schema](#nestedatt--spec--proxy_secret_ref)) - `ref` (Attributes) The OCI reference to pull and monitor for changes,defaults to the latest tag. (see [below for nested schema](#nestedatt--spec--ref)) - `secret_ref` (Attributes) SecretRef contains the secret name containing the registry logincredentials to resolve image metadata.The secret must be of type kubernetes.io/dockerconfigjson. (see [below for nested schema](#nestedatt--spec--secret_ref)) - `service_account_name` (String) ServiceAccountName is the name of the Kubernetes ServiceAccount used to authenticatethe image pull if the service account has attached pull secrets. For more information:https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#add-imagepullsecrets-to-a-service-account @@ -89,6 +90,14 @@ Optional: - `operation` (String) Operation specifies how the selected layer should be processed.By default, the layer compressed content is extracted to storage.When the operation is set to 'copy', the layer compressed contentis persisted to storage as it is. + +### Nested Schema for `spec.proxy_secret_ref` + +Required: + +- `name` (String) Name of the referent. + + ### Nested Schema for `spec.ref` diff --git a/docs/data-sources/velero_io_backup_repository_v1_manifest.md b/docs/data-sources/velero_io_backup_repository_v1_manifest.md index 8f8131c5c..d1587120d 100644 --- a/docs/data-sources/velero_io_backup_repository_v1_manifest.md +++ b/docs/data-sources/velero_io_backup_repository_v1_manifest.md @@ -62,4 +62,5 @@ Required: Optional: +- `repository_config` (Map of String) RepositoryConfig is for repository-specific configuration fields. - `repository_type` (String) RepositoryType indicates the type of the backend repository diff --git a/docs/data-sources/workloads_kubeblocks_io_instance_set_v1alpha1_manifest.md b/docs/data-sources/workloads_kubeblocks_io_instance_set_v1alpha1_manifest.md index 83cc21c4f..4412afae9 100644 --- a/docs/data-sources/workloads_kubeblocks_io_instance_set_v1alpha1_manifest.md +++ b/docs/data-sources/workloads_kubeblocks_io_instance_set_v1alpha1_manifest.md @@ -5203,8 +5203,7 @@ Optional: Optional: -- `builtin_handler_name` (String) Specifies the builtin handler name to use to probe the role of the main container.Available handlers include: mysql, postgres, mongodb, redis, etcd, kafka.Use CustomHandler to define a custom role probe function if none of the built-in handlers meet the requirement. -- `custom_handler` (Attributes List) Defines a custom method for role probing.If the BuiltinHandler meets the requirement, use it instead.Actions defined here are executed in series.Upon completion of all actions, the final output should be a single string representing the role name defined in spec.Roles.The latest [BusyBox](https://busybox.net/) image will be used if Image is not configured.Environment variables can be used in Command:- v_KB_ITS_LAST_STDOUT: stdout from the last action, watch for 'v_' prefix- KB_ITS_USERNAME: username part of the credential- KB_ITS_PASSWORD: password part of the credential (see [below for nested schema](#nestedatt--spec--role_probe--custom_handler)) +- `custom_handler` (Attributes List) Defines a custom method for role probing.Actions defined here are executed in series.Upon completion of all actions, the final output should be a single string representing the role name defined in spec.Roles.The latest [BusyBox](https://busybox.net/) image will be used if Image is not configured.Environment variables can be used in Command:- v_KB_ITS_LAST_STDOUT: stdout from the last action, watch for 'v_' prefix- KB_ITS_USERNAME: username part of the credential- KB_ITS_PASSWORD: password part of the credential (see [below for nested schema](#nestedatt--spec--role_probe--custom_handler)) - `failure_threshold` (Number) Specifies the minimum number of consecutive failures for the probe to be considered failed after having succeeded. - `initial_delay_seconds` (Number) Specifies the number of seconds to wait after the container has started before initiating role probing. - `period_seconds` (Number) Specifies the frequency (in seconds) of probe execution. diff --git a/internal/provider/acid_zalan_do_v1/acid_zalan_do_operator_configuration_v1_manifest.go b/internal/provider/acid_zalan_do_v1/acid_zalan_do_operator_configuration_v1_manifest.go index 5f9b908b4..1ad1490f3 100644 --- a/internal/provider/acid_zalan_do_v1/acid_zalan_do_operator_configuration_v1_manifest.go +++ b/internal/provider/acid_zalan_do_v1/acid_zalan_do_operator_configuration_v1_manifest.go @@ -97,6 +97,7 @@ type AcidZalanDoOperatorConfigurationV1ManifestData struct { Enable_cross_namespace_secret *bool `tfsdk:"enable_cross_namespace_secret" json:"enable_cross_namespace_secret,omitempty"` Enable_finalizers *bool `tfsdk:"enable_finalizers" json:"enable_finalizers,omitempty"` Enable_init_containers *bool `tfsdk:"enable_init_containers" json:"enable_init_containers,omitempty"` + Enable_owner_references *bool `tfsdk:"enable_owner_references" json:"enable_owner_references,omitempty"` Enable_persistent_volume_claim_deletion *bool `tfsdk:"enable_persistent_volume_claim_deletion" json:"enable_persistent_volume_claim_deletion,omitempty"` Enable_pod_antiaffinity *bool `tfsdk:"enable_pod_antiaffinity" json:"enable_pod_antiaffinity,omitempty"` Enable_pod_disruption_budget *bool `tfsdk:"enable_pod_disruption_budget" json:"enable_pod_disruption_budget,omitempty"` @@ -755,6 +756,14 @@ func (r *AcidZalanDoOperatorConfigurationV1Manifest) Schema(_ context.Context, _ Computed: false, }, + "enable_owner_references": schema.BoolAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + "enable_persistent_volume_claim_deletion": schema.BoolAttribute{ Description: "", MarkdownDescription: "", diff --git a/internal/provider/acid_zalan_do_v1/acid_zalan_do_postgresql_v1_manifest.go b/internal/provider/acid_zalan_do_v1/acid_zalan_do_postgresql_v1_manifest.go index 866a37454..56b56e132 100644 --- a/internal/provider/acid_zalan_do_v1/acid_zalan_do_postgresql_v1_manifest.go +++ b/internal/provider/acid_zalan_do_v1/acid_zalan_do_postgresql_v1_manifest.go @@ -1080,7 +1080,7 @@ func (r *AcidZalanDoPostgresqlV1Manifest) Schema(_ context.Context, _ datasource Optional: false, Computed: false, Validators: []validator.String{ - stringvalidator.OneOf("11", "12", "13", "14", "15", "16"), + stringvalidator.OneOf("12", "13", "14", "15", "16"), }, }, }, diff --git a/internal/provider/app_terraform_io_v1alpha2/app_terraform_io_agent_pool_v1alpha2_manifest.go b/internal/provider/app_terraform_io_v1alpha2/app_terraform_io_agent_pool_v1alpha2_manifest.go index 10817ab68..676f47c0c 100644 --- a/internal/provider/app_terraform_io_v1alpha2/app_terraform_io_agent_pool_v1alpha2_manifest.go +++ b/internal/provider/app_terraform_io_v1alpha2/app_terraform_io_agent_pool_v1alpha2_manifest.go @@ -347,7 +347,11 @@ type AppTerraformIoAgentPoolV1Alpha2ManifestData struct { RestartPolicy *string `tfsdk:"restart_policy" json:"restartPolicy,omitempty"` SecurityContext *struct { AllowPrivilegeEscalation *bool `tfsdk:"allow_privilege_escalation" json:"allowPrivilegeEscalation,omitempty"` - Capabilities *struct { + AppArmorProfile *struct { + LocalhostProfile *string `tfsdk:"localhost_profile" json:"localhostProfile,omitempty"` + Type *string `tfsdk:"type" json:"type,omitempty"` + } `tfsdk:"app_armor_profile" json:"appArmorProfile,omitempty"` + Capabilities *struct { Add *[]string `tfsdk:"add" json:"add,omitempty"` Drop *[]string `tfsdk:"drop" json:"drop,omitempty"` } `tfsdk:"capabilities" json:"capabilities,omitempty"` @@ -413,12 +417,13 @@ type AppTerraformIoAgentPoolV1Alpha2ManifestData struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"volume_devices" json:"volumeDevices,omitempty"` VolumeMounts *[]struct { - MountPath *string `tfsdk:"mount_path" json:"mountPath,omitempty"` - MountPropagation *string `tfsdk:"mount_propagation" json:"mountPropagation,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - ReadOnly *bool `tfsdk:"read_only" json:"readOnly,omitempty"` - SubPath *string `tfsdk:"sub_path" json:"subPath,omitempty"` - SubPathExpr *string `tfsdk:"sub_path_expr" json:"subPathExpr,omitempty"` + MountPath *string `tfsdk:"mount_path" json:"mountPath,omitempty"` + MountPropagation *string `tfsdk:"mount_propagation" json:"mountPropagation,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + ReadOnly *bool `tfsdk:"read_only" json:"readOnly,omitempty"` + RecursiveReadOnly *string `tfsdk:"recursive_read_only" json:"recursiveReadOnly,omitempty"` + SubPath *string `tfsdk:"sub_path" json:"subPath,omitempty"` + SubPathExpr *string `tfsdk:"sub_path_expr" json:"subPathExpr,omitempty"` } `tfsdk:"volume_mounts" json:"volumeMounts,omitempty"` WorkingDir *string `tfsdk:"working_dir" json:"workingDir,omitempty"` } `tfsdk:"containers" json:"containers,omitempty"` @@ -599,7 +604,11 @@ type AppTerraformIoAgentPoolV1Alpha2ManifestData struct { RestartPolicy *string `tfsdk:"restart_policy" json:"restartPolicy,omitempty"` SecurityContext *struct { AllowPrivilegeEscalation *bool `tfsdk:"allow_privilege_escalation" json:"allowPrivilegeEscalation,omitempty"` - Capabilities *struct { + AppArmorProfile *struct { + LocalhostProfile *string `tfsdk:"localhost_profile" json:"localhostProfile,omitempty"` + Type *string `tfsdk:"type" json:"type,omitempty"` + } `tfsdk:"app_armor_profile" json:"appArmorProfile,omitempty"` + Capabilities *struct { Add *[]string `tfsdk:"add" json:"add,omitempty"` Drop *[]string `tfsdk:"drop" json:"drop,omitempty"` } `tfsdk:"capabilities" json:"capabilities,omitempty"` @@ -666,12 +675,13 @@ type AppTerraformIoAgentPoolV1Alpha2ManifestData struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"volume_devices" json:"volumeDevices,omitempty"` VolumeMounts *[]struct { - MountPath *string `tfsdk:"mount_path" json:"mountPath,omitempty"` - MountPropagation *string `tfsdk:"mount_propagation" json:"mountPropagation,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - ReadOnly *bool `tfsdk:"read_only" json:"readOnly,omitempty"` - SubPath *string `tfsdk:"sub_path" json:"subPath,omitempty"` - SubPathExpr *string `tfsdk:"sub_path_expr" json:"subPathExpr,omitempty"` + MountPath *string `tfsdk:"mount_path" json:"mountPath,omitempty"` + MountPropagation *string `tfsdk:"mount_propagation" json:"mountPropagation,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + ReadOnly *bool `tfsdk:"read_only" json:"readOnly,omitempty"` + RecursiveReadOnly *string `tfsdk:"recursive_read_only" json:"recursiveReadOnly,omitempty"` + SubPath *string `tfsdk:"sub_path" json:"subPath,omitempty"` + SubPathExpr *string `tfsdk:"sub_path_expr" json:"subPathExpr,omitempty"` } `tfsdk:"volume_mounts" json:"volumeMounts,omitempty"` WorkingDir *string `tfsdk:"working_dir" json:"workingDir,omitempty"` } `tfsdk:"ephemeral_containers" json:"ephemeralContainers,omitempty"` @@ -854,7 +864,11 @@ type AppTerraformIoAgentPoolV1Alpha2ManifestData struct { RestartPolicy *string `tfsdk:"restart_policy" json:"restartPolicy,omitempty"` SecurityContext *struct { AllowPrivilegeEscalation *bool `tfsdk:"allow_privilege_escalation" json:"allowPrivilegeEscalation,omitempty"` - Capabilities *struct { + AppArmorProfile *struct { + LocalhostProfile *string `tfsdk:"localhost_profile" json:"localhostProfile,omitempty"` + Type *string `tfsdk:"type" json:"type,omitempty"` + } `tfsdk:"app_armor_profile" json:"appArmorProfile,omitempty"` + Capabilities *struct { Add *[]string `tfsdk:"add" json:"add,omitempty"` Drop *[]string `tfsdk:"drop" json:"drop,omitempty"` } `tfsdk:"capabilities" json:"capabilities,omitempty"` @@ -920,12 +934,13 @@ type AppTerraformIoAgentPoolV1Alpha2ManifestData struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"volume_devices" json:"volumeDevices,omitempty"` VolumeMounts *[]struct { - MountPath *string `tfsdk:"mount_path" json:"mountPath,omitempty"` - MountPropagation *string `tfsdk:"mount_propagation" json:"mountPropagation,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - ReadOnly *bool `tfsdk:"read_only" json:"readOnly,omitempty"` - SubPath *string `tfsdk:"sub_path" json:"subPath,omitempty"` - SubPathExpr *string `tfsdk:"sub_path_expr" json:"subPathExpr,omitempty"` + MountPath *string `tfsdk:"mount_path" json:"mountPath,omitempty"` + MountPropagation *string `tfsdk:"mount_propagation" json:"mountPropagation,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + ReadOnly *bool `tfsdk:"read_only" json:"readOnly,omitempty"` + RecursiveReadOnly *string `tfsdk:"recursive_read_only" json:"recursiveReadOnly,omitempty"` + SubPath *string `tfsdk:"sub_path" json:"subPath,omitempty"` + SubPathExpr *string `tfsdk:"sub_path_expr" json:"subPathExpr,omitempty"` } `tfsdk:"volume_mounts" json:"volumeMounts,omitempty"` WorkingDir *string `tfsdk:"working_dir" json:"workingDir,omitempty"` } `tfsdk:"init_containers" json:"initContainers,omitempty"` @@ -955,6 +970,10 @@ type AppTerraformIoAgentPoolV1Alpha2ManifestData struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"scheduling_gates" json:"schedulingGates,omitempty"` SecurityContext *struct { + AppArmorProfile *struct { + LocalhostProfile *string `tfsdk:"localhost_profile" json:"localhostProfile,omitempty"` + Type *string `tfsdk:"type" json:"type,omitempty"` + } `tfsdk:"app_armor_profile" json:"appArmorProfile,omitempty"` FsGroup *int64 `tfsdk:"fs_group" json:"fsGroup,omitempty"` FsGroupChangePolicy *string `tfsdk:"fs_group_change_policy" json:"fsGroupChangePolicy,omitempty"` RunAsGroup *int64 `tfsdk:"run_as_group" json:"runAsGroup,omitempty"` @@ -1723,8 +1742,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da }, "match_label_keys": schema.ListAttribute{ - Description: "MatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'LabelSelector' as 'key in (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.Also, MatchLabelKeys cannot be set when LabelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - MarkdownDescription: "MatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'LabelSelector' as 'key in (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.Also, MatchLabelKeys cannot be set when LabelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", + Description: "MatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both matchLabelKeys and labelSelector.Also, matchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", + MarkdownDescription: "MatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both matchLabelKeys and labelSelector.Also, matchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", ElementType: types.StringType, Required: false, Optional: true, @@ -1732,8 +1751,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da }, "mismatch_label_keys": schema.ListAttribute{ - Description: "MismatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'LabelSelector' as 'key notin (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector.Also, MismatchLabelKeys cannot be set when LabelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - MarkdownDescription: "MismatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'LabelSelector' as 'key notin (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector.Also, MismatchLabelKeys cannot be set when LabelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", + Description: "MismatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.Also, mismatchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", + MarkdownDescription: "MismatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.Also, mismatchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", ElementType: types.StringType, Required: false, Optional: true, @@ -1890,8 +1909,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da }, "match_label_keys": schema.ListAttribute{ - Description: "MatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'LabelSelector' as 'key in (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.Also, MatchLabelKeys cannot be set when LabelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - MarkdownDescription: "MatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'LabelSelector' as 'key in (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.Also, MatchLabelKeys cannot be set when LabelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", + Description: "MatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both matchLabelKeys and labelSelector.Also, matchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", + MarkdownDescription: "MatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both matchLabelKeys and labelSelector.Also, matchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", ElementType: types.StringType, Required: false, Optional: true, @@ -1899,8 +1918,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da }, "mismatch_label_keys": schema.ListAttribute{ - Description: "MismatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'LabelSelector' as 'key notin (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector.Also, MismatchLabelKeys cannot be set when LabelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - MarkdownDescription: "MismatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'LabelSelector' as 'key notin (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector.Also, MismatchLabelKeys cannot be set when LabelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", + Description: "MismatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.Also, mismatchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", + MarkdownDescription: "MismatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.Also, mismatchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", ElementType: types.StringType, Required: false, Optional: true, @@ -2057,8 +2076,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da }, "match_label_keys": schema.ListAttribute{ - Description: "MatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'LabelSelector' as 'key in (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.Also, MatchLabelKeys cannot be set when LabelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - MarkdownDescription: "MatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'LabelSelector' as 'key in (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.Also, MatchLabelKeys cannot be set when LabelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", + Description: "MatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both matchLabelKeys and labelSelector.Also, matchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", + MarkdownDescription: "MatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both matchLabelKeys and labelSelector.Also, matchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", ElementType: types.StringType, Required: false, Optional: true, @@ -2066,8 +2085,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da }, "mismatch_label_keys": schema.ListAttribute{ - Description: "MismatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'LabelSelector' as 'key notin (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector.Also, MismatchLabelKeys cannot be set when LabelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - MarkdownDescription: "MismatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'LabelSelector' as 'key notin (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector.Also, MismatchLabelKeys cannot be set when LabelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", + Description: "MismatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.Also, mismatchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", + MarkdownDescription: "MismatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.Also, mismatchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", ElementType: types.StringType, Required: false, Optional: true, @@ -2224,8 +2243,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da }, "match_label_keys": schema.ListAttribute{ - Description: "MatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'LabelSelector' as 'key in (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.Also, MatchLabelKeys cannot be set when LabelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - MarkdownDescription: "MatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'LabelSelector' as 'key in (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.Also, MatchLabelKeys cannot be set when LabelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", + Description: "MatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both matchLabelKeys and labelSelector.Also, matchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", + MarkdownDescription: "MatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both matchLabelKeys and labelSelector.Also, matchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", ElementType: types.StringType, Required: false, Optional: true, @@ -2233,8 +2252,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da }, "mismatch_label_keys": schema.ListAttribute{ - Description: "MismatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'LabelSelector' as 'key notin (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector.Also, MismatchLabelKeys cannot be set when LabelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - MarkdownDescription: "MismatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'LabelSelector' as 'key notin (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both MismatchLabelKeys and LabelSelector.Also, MismatchLabelKeys cannot be set when LabelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", + Description: "MismatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.Also, mismatchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", + MarkdownDescription: "MismatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.Also, mismatchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", ElementType: types.StringType, Required: false, Optional: true, @@ -2397,8 +2416,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da }, "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", Required: false, Optional: true, Computed: false, @@ -2488,8 +2507,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da }, "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", Required: false, Optional: true, Computed: false, @@ -2529,8 +2548,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da MarkdownDescription: "The ConfigMap to select from", Attributes: map[string]schema.Attribute{ "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", Required: false, Optional: true, Computed: false, @@ -2562,8 +2581,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da MarkdownDescription: "The Secret to select from", Attributes: map[string]schema.Attribute{ "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", Required: false, Optional: true, Computed: false, @@ -3425,6 +3444,31 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da Computed: false, }, + "app_armor_profile": schema.SingleNestedAttribute{ + Description: "appArmorProfile is the AppArmor options to use by this container. If set, this profileoverrides the pod's appArmorProfile.Note that this field cannot be set when spec.os.name is windows.", + MarkdownDescription: "appArmorProfile is the AppArmor options to use by this container. If set, this profileoverrides the pod's appArmorProfile.Note that this field cannot be set when spec.os.name is windows.", + Attributes: map[string]schema.Attribute{ + "localhost_profile": schema.StringAttribute{ + Description: "localhostProfile indicates a profile loaded on the node that should be used.The profile must be preconfigured on the node to work.Must match the loaded name of the profile.Must be set if and only if type is 'Localhost'.", + MarkdownDescription: "localhostProfile indicates a profile loaded on the node that should be used.The profile must be preconfigured on the node to work.Must match the loaded name of the profile.Must be set if and only if type is 'Localhost'.", + Required: false, + Optional: true, + Computed: false, + }, + + "type": schema.StringAttribute{ + Description: "type indicates which kind of AppArmor profile will be applied.Valid options are: Localhost - a profile pre-loaded on the node. RuntimeDefault - the container runtime's default profile. Unconfined - no AppArmor enforcement.", + MarkdownDescription: "type indicates which kind of AppArmor profile will be applied.Valid options are: Localhost - a profile pre-loaded on the node. RuntimeDefault - the container runtime's default profile. Unconfined - no AppArmor enforcement.", + Required: true, + Optional: false, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + "capabilities": schema.SingleNestedAttribute{ Description: "The capabilities to add/drop when running containers.Defaults to the default set of capabilities granted by the container runtime.Note that this field cannot be set when spec.os.name is windows.", MarkdownDescription: "The capabilities to add/drop when running containers.Defaults to the default set of capabilities granted by the container runtime.Note that this field cannot be set when spec.os.name is windows.", @@ -3886,8 +3930,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da }, "mount_propagation": schema.StringAttribute{ - Description: "mountPropagation determines how mounts are propagated from the hostto container and the other way around.When not set, MountPropagationNone is used.This field is beta in 1.10.", - MarkdownDescription: "mountPropagation determines how mounts are propagated from the hostto container and the other way around.When not set, MountPropagationNone is used.This field is beta in 1.10.", + Description: "mountPropagation determines how mounts are propagated from the hostto container and the other way around.When not set, MountPropagationNone is used.This field is beta in 1.10.When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified(which defaults to None).", + MarkdownDescription: "mountPropagation determines how mounts are propagated from the hostto container and the other way around.When not set, MountPropagationNone is used.This field is beta in 1.10.When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified(which defaults to None).", Required: false, Optional: true, Computed: false, @@ -3909,6 +3953,14 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da Computed: false, }, + "recursive_read_only": schema.StringAttribute{ + Description: "RecursiveReadOnly specifies whether read-only mounts should be handledrecursively.If ReadOnly is false, this field has no meaning and must be unspecified.If ReadOnly is true, and this field is set to Disabled, the mount is not maderecursively read-only. If this field is set to IfPossible, the mount is maderecursively read-only, if it is supported by the container runtime. If thisfield is set to Enabled, the mount is made recursively read-only if it issupported by the container runtime, otherwise the pod will not be started andan error will be generated to indicate the reason.If this field is set to IfPossible or Enabled, MountPropagation must be set toNone (or be unspecified, which defaults to None).If this field is not specified, it is treated as an equivalent of Disabled.", + MarkdownDescription: "RecursiveReadOnly specifies whether read-only mounts should be handledrecursively.If ReadOnly is false, this field has no meaning and must be unspecified.If ReadOnly is true, and this field is set to Disabled, the mount is not maderecursively read-only. If this field is set to IfPossible, the mount is maderecursively read-only, if it is supported by the container runtime. If thisfield is set to Enabled, the mount is made recursively read-only if it issupported by the container runtime, otherwise the pod will not be started andan error will be generated to indicate the reason.If this field is set to IfPossible or Enabled, MountPropagation must be set toNone (or be unspecified, which defaults to None).If this field is not specified, it is treated as an equivalent of Disabled.", + Required: false, + Optional: true, + Computed: false, + }, + "sub_path": schema.StringAttribute{ Description: "Path within the volume from which the container's volume should be mounted.Defaults to '' (volume's root).", MarkdownDescription: "Path within the volume from which the container's volume should be mounted.Defaults to '' (volume's root).", @@ -4076,8 +4128,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da }, "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", Required: false, Optional: true, Computed: false, @@ -4167,8 +4219,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da }, "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", Required: false, Optional: true, Computed: false, @@ -4208,8 +4260,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da MarkdownDescription: "The ConfigMap to select from", Attributes: map[string]schema.Attribute{ "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", Required: false, Optional: true, Computed: false, @@ -4241,8 +4293,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da MarkdownDescription: "The Secret to select from", Attributes: map[string]schema.Attribute{ "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", Required: false, Optional: true, Computed: false, @@ -5104,6 +5156,31 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da Computed: false, }, + "app_armor_profile": schema.SingleNestedAttribute{ + Description: "appArmorProfile is the AppArmor options to use by this container. If set, this profileoverrides the pod's appArmorProfile.Note that this field cannot be set when spec.os.name is windows.", + MarkdownDescription: "appArmorProfile is the AppArmor options to use by this container. If set, this profileoverrides the pod's appArmorProfile.Note that this field cannot be set when spec.os.name is windows.", + Attributes: map[string]schema.Attribute{ + "localhost_profile": schema.StringAttribute{ + Description: "localhostProfile indicates a profile loaded on the node that should be used.The profile must be preconfigured on the node to work.Must match the loaded name of the profile.Must be set if and only if type is 'Localhost'.", + MarkdownDescription: "localhostProfile indicates a profile loaded on the node that should be used.The profile must be preconfigured on the node to work.Must match the loaded name of the profile.Must be set if and only if type is 'Localhost'.", + Required: false, + Optional: true, + Computed: false, + }, + + "type": schema.StringAttribute{ + Description: "type indicates which kind of AppArmor profile will be applied.Valid options are: Localhost - a profile pre-loaded on the node. RuntimeDefault - the container runtime's default profile. Unconfined - no AppArmor enforcement.", + MarkdownDescription: "type indicates which kind of AppArmor profile will be applied.Valid options are: Localhost - a profile pre-loaded on the node. RuntimeDefault - the container runtime's default profile. Unconfined - no AppArmor enforcement.", + Required: true, + Optional: false, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + "capabilities": schema.SingleNestedAttribute{ Description: "The capabilities to add/drop when running containers.Defaults to the default set of capabilities granted by the container runtime.Note that this field cannot be set when spec.os.name is windows.", MarkdownDescription: "The capabilities to add/drop when running containers.Defaults to the default set of capabilities granted by the container runtime.Note that this field cannot be set when spec.os.name is windows.", @@ -5573,8 +5650,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da }, "mount_propagation": schema.StringAttribute{ - Description: "mountPropagation determines how mounts are propagated from the hostto container and the other way around.When not set, MountPropagationNone is used.This field is beta in 1.10.", - MarkdownDescription: "mountPropagation determines how mounts are propagated from the hostto container and the other way around.When not set, MountPropagationNone is used.This field is beta in 1.10.", + Description: "mountPropagation determines how mounts are propagated from the hostto container and the other way around.When not set, MountPropagationNone is used.This field is beta in 1.10.When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified(which defaults to None).", + MarkdownDescription: "mountPropagation determines how mounts are propagated from the hostto container and the other way around.When not set, MountPropagationNone is used.This field is beta in 1.10.When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified(which defaults to None).", Required: false, Optional: true, Computed: false, @@ -5596,6 +5673,14 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da Computed: false, }, + "recursive_read_only": schema.StringAttribute{ + Description: "RecursiveReadOnly specifies whether read-only mounts should be handledrecursively.If ReadOnly is false, this field has no meaning and must be unspecified.If ReadOnly is true, and this field is set to Disabled, the mount is not maderecursively read-only. If this field is set to IfPossible, the mount is maderecursively read-only, if it is supported by the container runtime. If thisfield is set to Enabled, the mount is made recursively read-only if it issupported by the container runtime, otherwise the pod will not be started andan error will be generated to indicate the reason.If this field is set to IfPossible or Enabled, MountPropagation must be set toNone (or be unspecified, which defaults to None).If this field is not specified, it is treated as an equivalent of Disabled.", + MarkdownDescription: "RecursiveReadOnly specifies whether read-only mounts should be handledrecursively.If ReadOnly is false, this field has no meaning and must be unspecified.If ReadOnly is true, and this field is set to Disabled, the mount is not maderecursively read-only. If this field is set to IfPossible, the mount is maderecursively read-only, if it is supported by the container runtime. If thisfield is set to Enabled, the mount is made recursively read-only if it issupported by the container runtime, otherwise the pod will not be started andan error will be generated to indicate the reason.If this field is set to IfPossible or Enabled, MountPropagation must be set toNone (or be unspecified, which defaults to None).If this field is not specified, it is treated as an equivalent of Disabled.", + Required: false, + Optional: true, + Computed: false, + }, + "sub_path": schema.StringAttribute{ Description: "Path within the volume from which the container's volume should be mounted.Defaults to '' (volume's root).", MarkdownDescription: "Path within the volume from which the container's volume should be mounted.Defaults to '' (volume's root).", @@ -5633,8 +5718,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da }, "host_aliases": schema.ListNestedAttribute{ - Description: "HostAliases is an optional list of hosts and IPs that will be injected into the pod's hostsfile if specified. This is only valid for non-hostNetwork pods.", - MarkdownDescription: "HostAliases is an optional list of hosts and IPs that will be injected into the pod's hostsfile if specified. This is only valid for non-hostNetwork pods.", + Description: "HostAliases is an optional list of hosts and IPs that will be injected into the pod's hostsfile if specified.", + MarkdownDescription: "HostAliases is an optional list of hosts and IPs that will be injected into the pod's hostsfile if specified.", NestedObject: schema.NestedAttributeObject{ Attributes: map[string]schema.Attribute{ "hostnames": schema.ListAttribute{ @@ -5649,8 +5734,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da "ip": schema.StringAttribute{ Description: "IP address of the host file entry.", MarkdownDescription: "IP address of the host file entry.", - Required: false, - Optional: true, + Required: true, + Optional: false, Computed: false, }, }, @@ -5706,8 +5791,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da NestedObject: schema.NestedAttributeObject{ Attributes: map[string]schema.Attribute{ "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", Required: false, Optional: true, Computed: false, @@ -5780,8 +5865,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da }, "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", Required: false, Optional: true, Computed: false, @@ -5871,8 +5956,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da }, "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", Required: false, Optional: true, Computed: false, @@ -5912,8 +5997,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da MarkdownDescription: "The ConfigMap to select from", Attributes: map[string]schema.Attribute{ "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", Required: false, Optional: true, Computed: false, @@ -5945,8 +6030,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da MarkdownDescription: "The Secret to select from", Attributes: map[string]schema.Attribute{ "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", Required: false, Optional: true, Computed: false, @@ -6808,6 +6893,31 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da Computed: false, }, + "app_armor_profile": schema.SingleNestedAttribute{ + Description: "appArmorProfile is the AppArmor options to use by this container. If set, this profileoverrides the pod's appArmorProfile.Note that this field cannot be set when spec.os.name is windows.", + MarkdownDescription: "appArmorProfile is the AppArmor options to use by this container. If set, this profileoverrides the pod's appArmorProfile.Note that this field cannot be set when spec.os.name is windows.", + Attributes: map[string]schema.Attribute{ + "localhost_profile": schema.StringAttribute{ + Description: "localhostProfile indicates a profile loaded on the node that should be used.The profile must be preconfigured on the node to work.Must match the loaded name of the profile.Must be set if and only if type is 'Localhost'.", + MarkdownDescription: "localhostProfile indicates a profile loaded on the node that should be used.The profile must be preconfigured on the node to work.Must match the loaded name of the profile.Must be set if and only if type is 'Localhost'.", + Required: false, + Optional: true, + Computed: false, + }, + + "type": schema.StringAttribute{ + Description: "type indicates which kind of AppArmor profile will be applied.Valid options are: Localhost - a profile pre-loaded on the node. RuntimeDefault - the container runtime's default profile. Unconfined - no AppArmor enforcement.", + MarkdownDescription: "type indicates which kind of AppArmor profile will be applied.Valid options are: Localhost - a profile pre-loaded on the node. RuntimeDefault - the container runtime's default profile. Unconfined - no AppArmor enforcement.", + Required: true, + Optional: false, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + "capabilities": schema.SingleNestedAttribute{ Description: "The capabilities to add/drop when running containers.Defaults to the default set of capabilities granted by the container runtime.Note that this field cannot be set when spec.os.name is windows.", MarkdownDescription: "The capabilities to add/drop when running containers.Defaults to the default set of capabilities granted by the container runtime.Note that this field cannot be set when spec.os.name is windows.", @@ -7269,8 +7379,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da }, "mount_propagation": schema.StringAttribute{ - Description: "mountPropagation determines how mounts are propagated from the hostto container and the other way around.When not set, MountPropagationNone is used.This field is beta in 1.10.", - MarkdownDescription: "mountPropagation determines how mounts are propagated from the hostto container and the other way around.When not set, MountPropagationNone is used.This field is beta in 1.10.", + Description: "mountPropagation determines how mounts are propagated from the hostto container and the other way around.When not set, MountPropagationNone is used.This field is beta in 1.10.When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified(which defaults to None).", + MarkdownDescription: "mountPropagation determines how mounts are propagated from the hostto container and the other way around.When not set, MountPropagationNone is used.This field is beta in 1.10.When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified(which defaults to None).", Required: false, Optional: true, Computed: false, @@ -7292,6 +7402,14 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da Computed: false, }, + "recursive_read_only": schema.StringAttribute{ + Description: "RecursiveReadOnly specifies whether read-only mounts should be handledrecursively.If ReadOnly is false, this field has no meaning and must be unspecified.If ReadOnly is true, and this field is set to Disabled, the mount is not maderecursively read-only. If this field is set to IfPossible, the mount is maderecursively read-only, if it is supported by the container runtime. If thisfield is set to Enabled, the mount is made recursively read-only if it issupported by the container runtime, otherwise the pod will not be started andan error will be generated to indicate the reason.If this field is set to IfPossible or Enabled, MountPropagation must be set toNone (or be unspecified, which defaults to None).If this field is not specified, it is treated as an equivalent of Disabled.", + MarkdownDescription: "RecursiveReadOnly specifies whether read-only mounts should be handledrecursively.If ReadOnly is false, this field has no meaning and must be unspecified.If ReadOnly is true, and this field is set to Disabled, the mount is not maderecursively read-only. If this field is set to IfPossible, the mount is maderecursively read-only, if it is supported by the container runtime. If thisfield is set to Enabled, the mount is made recursively read-only if it issupported by the container runtime, otherwise the pod will not be started andan error will be generated to indicate the reason.If this field is set to IfPossible or Enabled, MountPropagation must be set toNone (or be unspecified, which defaults to None).If this field is not specified, it is treated as an equivalent of Disabled.", + Required: false, + Optional: true, + Computed: false, + }, + "sub_path": schema.StringAttribute{ Description: "Path within the volume from which the container's volume should be mounted.Defaults to '' (volume's root).", MarkdownDescription: "Path within the volume from which the container's volume should be mounted.Defaults to '' (volume's root).", @@ -7346,8 +7464,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da }, "os": schema.SingleNestedAttribute{ - Description: "Specifies the OS of the containers in the pod.Some pod and container fields are restricted if this is set.If the OS field is set to linux, the following fields must be unset:-securityContext.windowsOptionsIf the OS field is set to windows, following fields must be unset:- spec.hostPID- spec.hostIPC- spec.hostUsers- spec.securityContext.seLinuxOptions- spec.securityContext.seccompProfile- spec.securityContext.fsGroup- spec.securityContext.fsGroupChangePolicy- spec.securityContext.sysctls- spec.shareProcessNamespace- spec.securityContext.runAsUser- spec.securityContext.runAsGroup- spec.securityContext.supplementalGroups- spec.containers[*].securityContext.seLinuxOptions- spec.containers[*].securityContext.seccompProfile- spec.containers[*].securityContext.capabilities- spec.containers[*].securityContext.readOnlyRootFilesystem- spec.containers[*].securityContext.privileged- spec.containers[*].securityContext.allowPrivilegeEscalation- spec.containers[*].securityContext.procMount- spec.containers[*].securityContext.runAsUser- spec.containers[*].securityContext.runAsGroup", - MarkdownDescription: "Specifies the OS of the containers in the pod.Some pod and container fields are restricted if this is set.If the OS field is set to linux, the following fields must be unset:-securityContext.windowsOptionsIf the OS field is set to windows, following fields must be unset:- spec.hostPID- spec.hostIPC- spec.hostUsers- spec.securityContext.seLinuxOptions- spec.securityContext.seccompProfile- spec.securityContext.fsGroup- spec.securityContext.fsGroupChangePolicy- spec.securityContext.sysctls- spec.shareProcessNamespace- spec.securityContext.runAsUser- spec.securityContext.runAsGroup- spec.securityContext.supplementalGroups- spec.containers[*].securityContext.seLinuxOptions- spec.containers[*].securityContext.seccompProfile- spec.containers[*].securityContext.capabilities- spec.containers[*].securityContext.readOnlyRootFilesystem- spec.containers[*].securityContext.privileged- spec.containers[*].securityContext.allowPrivilegeEscalation- spec.containers[*].securityContext.procMount- spec.containers[*].securityContext.runAsUser- spec.containers[*].securityContext.runAsGroup", + Description: "Specifies the OS of the containers in the pod.Some pod and container fields are restricted if this is set.If the OS field is set to linux, the following fields must be unset:-securityContext.windowsOptionsIf the OS field is set to windows, following fields must be unset:- spec.hostPID- spec.hostIPC- spec.hostUsers- spec.securityContext.appArmorProfile- spec.securityContext.seLinuxOptions- spec.securityContext.seccompProfile- spec.securityContext.fsGroup- spec.securityContext.fsGroupChangePolicy- spec.securityContext.sysctls- spec.shareProcessNamespace- spec.securityContext.runAsUser- spec.securityContext.runAsGroup- spec.securityContext.supplementalGroups- spec.containers[*].securityContext.appArmorProfile- spec.containers[*].securityContext.seLinuxOptions- spec.containers[*].securityContext.seccompProfile- spec.containers[*].securityContext.capabilities- spec.containers[*].securityContext.readOnlyRootFilesystem- spec.containers[*].securityContext.privileged- spec.containers[*].securityContext.allowPrivilegeEscalation- spec.containers[*].securityContext.procMount- spec.containers[*].securityContext.runAsUser- spec.containers[*].securityContext.runAsGroup", + MarkdownDescription: "Specifies the OS of the containers in the pod.Some pod and container fields are restricted if this is set.If the OS field is set to linux, the following fields must be unset:-securityContext.windowsOptionsIf the OS field is set to windows, following fields must be unset:- spec.hostPID- spec.hostIPC- spec.hostUsers- spec.securityContext.appArmorProfile- spec.securityContext.seLinuxOptions- spec.securityContext.seccompProfile- spec.securityContext.fsGroup- spec.securityContext.fsGroupChangePolicy- spec.securityContext.sysctls- spec.shareProcessNamespace- spec.securityContext.runAsUser- spec.securityContext.runAsGroup- spec.securityContext.supplementalGroups- spec.containers[*].securityContext.appArmorProfile- spec.containers[*].securityContext.seLinuxOptions- spec.containers[*].securityContext.seccompProfile- spec.containers[*].securityContext.capabilities- spec.containers[*].securityContext.readOnlyRootFilesystem- spec.containers[*].securityContext.privileged- spec.containers[*].securityContext.allowPrivilegeEscalation- spec.containers[*].securityContext.procMount- spec.containers[*].securityContext.runAsUser- spec.containers[*].securityContext.runAsGroup", Attributes: map[string]schema.Attribute{ "name": schema.StringAttribute{ Description: "Name is the name of the operating system. The currently supported values are linux and windows.Additional value may be defined in future and can be one of:https://github.com/opencontainers/runtime-spec/blob/master/config.md#platform-specific-configurationClients should expect to handle additional values and treat unrecognized values in this field as os: null", @@ -7483,8 +7601,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da }, "scheduling_gates": schema.ListNestedAttribute{ - Description: "SchedulingGates is an opaque list of values that if specified will block scheduling the pod.If schedulingGates is not empty, the pod will stay in the SchedulingGated state and thescheduler will not attempt to schedule the pod.SchedulingGates can only be set at pod creation time, and be removed only afterwards.This is a beta feature enabled by the PodSchedulingReadiness feature gate.", - MarkdownDescription: "SchedulingGates is an opaque list of values that if specified will block scheduling the pod.If schedulingGates is not empty, the pod will stay in the SchedulingGated state and thescheduler will not attempt to schedule the pod.SchedulingGates can only be set at pod creation time, and be removed only afterwards.This is a beta feature enabled by the PodSchedulingReadiness feature gate.", + Description: "SchedulingGates is an opaque list of values that if specified will block scheduling the pod.If schedulingGates is not empty, the pod will stay in the SchedulingGated state and thescheduler will not attempt to schedule the pod.SchedulingGates can only be set at pod creation time, and be removed only afterwards.", + MarkdownDescription: "SchedulingGates is an opaque list of values that if specified will block scheduling the pod.If schedulingGates is not empty, the pod will stay in the SchedulingGated state and thescheduler will not attempt to schedule the pod.SchedulingGates can only be set at pod creation time, and be removed only afterwards.", NestedObject: schema.NestedAttributeObject{ Attributes: map[string]schema.Attribute{ "name": schema.StringAttribute{ @@ -7505,6 +7623,31 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da Description: "SecurityContext holds pod-level security attributes and common container settings.Optional: Defaults to empty. See type description for default values of each field.", MarkdownDescription: "SecurityContext holds pod-level security attributes and common container settings.Optional: Defaults to empty. See type description for default values of each field.", Attributes: map[string]schema.Attribute{ + "app_armor_profile": schema.SingleNestedAttribute{ + Description: "appArmorProfile is the AppArmor options to use by the containers in this pod.Note that this field cannot be set when spec.os.name is windows.", + MarkdownDescription: "appArmorProfile is the AppArmor options to use by the containers in this pod.Note that this field cannot be set when spec.os.name is windows.", + Attributes: map[string]schema.Attribute{ + "localhost_profile": schema.StringAttribute{ + Description: "localhostProfile indicates a profile loaded on the node that should be used.The profile must be preconfigured on the node to work.Must match the loaded name of the profile.Must be set if and only if type is 'Localhost'.", + MarkdownDescription: "localhostProfile indicates a profile loaded on the node that should be used.The profile must be preconfigured on the node to work.Must match the loaded name of the profile.Must be set if and only if type is 'Localhost'.", + Required: false, + Optional: true, + Computed: false, + }, + + "type": schema.StringAttribute{ + Description: "type indicates which kind of AppArmor profile will be applied.Valid options are: Localhost - a profile pre-loaded on the node. RuntimeDefault - the container runtime's default profile. Unconfined - no AppArmor enforcement.", + MarkdownDescription: "type indicates which kind of AppArmor profile will be applied.Valid options are: Localhost - a profile pre-loaded on the node. RuntimeDefault - the container runtime's default profile. Unconfined - no AppArmor enforcement.", + Required: true, + Optional: false, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + "fs_group": schema.Int64Attribute{ Description: "A special supplemental group that applies to all containers in a pod.Some volume types allow the Kubelet to change the ownership of that volumeto be owned by the pod:1. The owning GID will be the FSGroup2. The setgid bit is set (new files created in the volume will be owned by FSGroup)3. The permission bits are OR'd with rw-rw----If unset, the Kubelet will not modify the ownership and permissions of any volume.Note that this field cannot be set when spec.os.name is windows.", MarkdownDescription: "A special supplemental group that applies to all containers in a pod.Some volume types allow the Kubelet to change the ownership of that volumeto be owned by the pod:1. The owning GID will be the FSGroup2. The setgid bit is set (new files created in the volume will be owned by FSGroup)3. The permission bits are OR'd with rw-rw----If unset, the Kubelet will not modify the ownership and permissions of any volume.Note that this field cannot be set when spec.os.name is windows.", @@ -7694,8 +7837,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da }, "service_account": schema.StringAttribute{ - Description: "DeprecatedServiceAccount is a depreciated alias for ServiceAccountName.Deprecated: Use serviceAccountName instead.", - MarkdownDescription: "DeprecatedServiceAccount is a depreciated alias for ServiceAccountName.Deprecated: Use serviceAccountName instead.", + Description: "DeprecatedServiceAccount is a deprecated alias for ServiceAccountName.Deprecated: Use serviceAccountName instead.", + MarkdownDescription: "DeprecatedServiceAccount is a deprecated alias for ServiceAccountName.Deprecated: Use serviceAccountName instead.", Required: false, Optional: true, Computed: false, @@ -7869,8 +8012,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da }, "min_domains": schema.Int64Attribute{ - Description: "MinDomains indicates a minimum number of eligible domains.When the number of eligible domains with matching topology keys is less than minDomains,Pod Topology Spread treats 'global minimum' as 0, and then the calculation of Skew is performed.And when the number of eligible domains with matching topology keys equals or greater than minDomains,this value has no effect on scheduling.As a result, when the number of eligible domains is less than minDomains,scheduler won't schedule more than maxSkew Pods to those domains.If value is nil, the constraint behaves as if MinDomains is equal to 1.Valid values are integers greater than 0.When value is not nil, WhenUnsatisfiable must be DoNotSchedule.For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the samelabelSelector spread as 2/2/2:| zone1 | zone2 | zone3 || P P | P P | P P |The number of domains is less than 5(MinDomains), so 'global minimum' is treated as 0.In this situation, new pod with the same labelSelector cannot be scheduled,because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones,it will violate MaxSkew.This is a beta field and requires the MinDomainsInPodTopologySpread feature gate to be enabled (enabled by default).", - MarkdownDescription: "MinDomains indicates a minimum number of eligible domains.When the number of eligible domains with matching topology keys is less than minDomains,Pod Topology Spread treats 'global minimum' as 0, and then the calculation of Skew is performed.And when the number of eligible domains with matching topology keys equals or greater than minDomains,this value has no effect on scheduling.As a result, when the number of eligible domains is less than minDomains,scheduler won't schedule more than maxSkew Pods to those domains.If value is nil, the constraint behaves as if MinDomains is equal to 1.Valid values are integers greater than 0.When value is not nil, WhenUnsatisfiable must be DoNotSchedule.For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the samelabelSelector spread as 2/2/2:| zone1 | zone2 | zone3 || P P | P P | P P |The number of domains is less than 5(MinDomains), so 'global minimum' is treated as 0.In this situation, new pod with the same labelSelector cannot be scheduled,because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones,it will violate MaxSkew.This is a beta field and requires the MinDomainsInPodTopologySpread feature gate to be enabled (enabled by default).", + Description: "MinDomains indicates a minimum number of eligible domains.When the number of eligible domains with matching topology keys is less than minDomains,Pod Topology Spread treats 'global minimum' as 0, and then the calculation of Skew is performed.And when the number of eligible domains with matching topology keys equals or greater than minDomains,this value has no effect on scheduling.As a result, when the number of eligible domains is less than minDomains,scheduler won't schedule more than maxSkew Pods to those domains.If value is nil, the constraint behaves as if MinDomains is equal to 1.Valid values are integers greater than 0.When value is not nil, WhenUnsatisfiable must be DoNotSchedule.For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the samelabelSelector spread as 2/2/2:| zone1 | zone2 | zone3 || P P | P P | P P |The number of domains is less than 5(MinDomains), so 'global minimum' is treated as 0.In this situation, new pod with the same labelSelector cannot be scheduled,because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones,it will violate MaxSkew.", + MarkdownDescription: "MinDomains indicates a minimum number of eligible domains.When the number of eligible domains with matching topology keys is less than minDomains,Pod Topology Spread treats 'global minimum' as 0, and then the calculation of Skew is performed.And when the number of eligible domains with matching topology keys equals or greater than minDomains,this value has no effect on scheduling.As a result, when the number of eligible domains is less than minDomains,scheduler won't schedule more than maxSkew Pods to those domains.If value is nil, the constraint behaves as if MinDomains is equal to 1.Valid values are integers greater than 0.When value is not nil, WhenUnsatisfiable must be DoNotSchedule.For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the samelabelSelector spread as 2/2/2:| zone1 | zone2 | zone3 || P P | P P | P P |The number of domains is less than 5(MinDomains), so 'global minimum' is treated as 0.In this situation, new pod with the same labelSelector cannot be scheduled,because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones,it will violate MaxSkew.", Required: false, Optional: true, Computed: false, @@ -8092,8 +8235,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da MarkdownDescription: "secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty.More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it", Attributes: map[string]schema.Attribute{ "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", Required: false, Optional: true, Computed: false, @@ -8142,8 +8285,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da MarkdownDescription: "secretRef is optional: points to a secret object containing parameters used to connectto OpenStack.", Attributes: map[string]schema.Attribute{ "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", Required: false, Optional: true, Computed: false, @@ -8215,8 +8358,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da }, "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", Required: false, Optional: true, Computed: false, @@ -8260,8 +8403,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da MarkdownDescription: "nodePublishSecretRef is a reference to the secret object containingsensitive information to pass to the CSI driver to complete the CSINodePublishVolume and NodeUnpublishVolume calls.This field is optional, and may be empty if no secret is required. If thesecret object contains more than one secret, all secret references are passed.", Attributes: map[string]schema.Attribute{ "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", Required: false, Optional: true, Computed: false, @@ -8312,8 +8455,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da NestedObject: schema.NestedAttributeObject{ Attributes: map[string]schema.Attribute{ "field_ref": schema.SingleNestedAttribute{ - Description: "Required: Selects a field of the pod: only annotations, labels, name and namespace are supported.", - MarkdownDescription: "Required: Selects a field of the pod: only annotations, labels, name and namespace are supported.", + Description: "Required: Selects a field of the pod: only annotations, labels, name, namespace and uid are supported.", + MarkdownDescription: "Required: Selects a field of the pod: only annotations, labels, name, namespace and uid are supported.", Attributes: map[string]schema.Attribute{ "api_version": schema.StringAttribute{ Description: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", @@ -8615,8 +8758,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da }, "volume_attributes_class_name": schema.StringAttribute{ - Description: "volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.If specified, the CSI driver will create or update the volume with the attributes definedin the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,it can be changed after the claim is created. An empty string value means that no VolumeAttributesClasswill be applied to the claim but it's not allowed to reset this field to empty string once it is set.If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClasswill be set by the persistentvolume controller if it exists.If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will beset to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resourceexists.More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#volumeattributesclass(Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.", - MarkdownDescription: "volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.If specified, the CSI driver will create or update the volume with the attributes definedin the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,it can be changed after the claim is created. An empty string value means that no VolumeAttributesClasswill be applied to the claim but it's not allowed to reset this field to empty string once it is set.If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClasswill be set by the persistentvolume controller if it exists.If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will beset to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resourceexists.More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#volumeattributesclass(Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.", + Description: "volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.If specified, the CSI driver will create or update the volume with the attributes definedin the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,it can be changed after the claim is created. An empty string value means that no VolumeAttributesClasswill be applied to the claim but it's not allowed to reset this field to empty string once it is set.If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClasswill be set by the persistentvolume controller if it exists.If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will beset to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resourceexists.More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/(Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.", + MarkdownDescription: "volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.If specified, the CSI driver will create or update the volume with the attributes definedin the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,it can be changed after the claim is created. An empty string value means that no VolumeAttributesClasswill be applied to the claim but it's not allowed to reset this field to empty string once it is set.If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClasswill be set by the persistentvolume controller if it exists.If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will beset to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resourceexists.More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/(Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.", Required: false, Optional: true, Computed: false, @@ -8746,8 +8889,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da MarkdownDescription: "secretRef is Optional: secretRef is reference to the secret object containingsensitive information to pass to the plugin scripts. This may beempty if no secret object is specified. If the secret objectcontains more than one secret, all secrets are passed to the pluginscripts.", Attributes: map[string]schema.Attribute{ "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", Required: false, Optional: true, Computed: false, @@ -9002,8 +9145,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da MarkdownDescription: "secretRef is the CHAP Secret for iSCSI target and initiator authentication", Attributes: map[string]schema.Attribute{ "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", Required: false, Optional: true, Computed: false, @@ -9303,8 +9446,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da }, "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", Required: false, Optional: true, Computed: false, @@ -9333,8 +9476,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da NestedObject: schema.NestedAttributeObject{ Attributes: map[string]schema.Attribute{ "field_ref": schema.SingleNestedAttribute{ - Description: "Required: Selects a field of the pod: only annotations, labels, name and namespace are supported.", - MarkdownDescription: "Required: Selects a field of the pod: only annotations, labels, name and namespace are supported.", + Description: "Required: Selects a field of the pod: only annotations, labels, name, namespace and uid are supported.", + MarkdownDescription: "Required: Selects a field of the pod: only annotations, labels, name, namespace and uid are supported.", Attributes: map[string]schema.Attribute{ "api_version": schema.StringAttribute{ Description: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", @@ -9457,8 +9600,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da }, "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", Required: false, Optional: true, Computed: false, @@ -9636,8 +9779,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da MarkdownDescription: "secretRef is name of the authentication secret for RBDUser. If providedoverrides keyring.Default is nil.More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it", Attributes: map[string]schema.Attribute{ "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", Required: false, Optional: true, Computed: false, @@ -9702,8 +9845,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da MarkdownDescription: "secretRef references to the secret for ScaleIO user and othersensitive information. If this is not provided, Login operation will fail.", Attributes: map[string]schema.Attribute{ "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", Required: false, Optional: true, Computed: false, @@ -9852,8 +9995,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da MarkdownDescription: "secretRef specifies the secret to use for obtaining the StorageOS APIcredentials. If not specified, default values will be attempted.", Attributes: map[string]schema.Attribute{ "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", Required: false, Optional: true, Computed: false, @@ -10129,8 +10272,8 @@ func (r *AppTerraformIoAgentPoolV1Alpha2Manifest) Schema(_ context.Context, _ da }, "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/app_terraform_io_v1alpha2/app_terraform_io_module_v1alpha2_manifest.go b/internal/provider/app_terraform_io_v1alpha2/app_terraform_io_module_v1alpha2_manifest.go index aea05d68d..a16ca96f2 100644 --- a/internal/provider/app_terraform_io_v1alpha2/app_terraform_io_module_v1alpha2_manifest.go +++ b/internal/provider/app_terraform_io_v1alpha2/app_terraform_io_module_v1alpha2_manifest.go @@ -269,8 +269,8 @@ func (r *AppTerraformIoModuleV1Alpha2Manifest) Schema(_ context.Context, _ datas }, "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/app_terraform_io_v1alpha2/app_terraform_io_workspace_v1alpha2_manifest.go b/internal/provider/app_terraform_io_v1alpha2/app_terraform_io_workspace_v1alpha2_manifest.go index 04e490ab6..876c82c2e 100644 --- a/internal/provider/app_terraform_io_v1alpha2/app_terraform_io_workspace_v1alpha2_manifest.go +++ b/internal/provider/app_terraform_io_v1alpha2/app_terraform_io_workspace_v1alpha2_manifest.go @@ -370,8 +370,8 @@ func (r *AppTerraformIoWorkspaceV1Alpha2Manifest) Schema(_ context.Context, _ da }, "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", Required: false, Optional: true, Computed: false, @@ -403,8 +403,8 @@ func (r *AppTerraformIoWorkspaceV1Alpha2Manifest) Schema(_ context.Context, _ da }, "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", Required: false, Optional: true, Computed: false, @@ -959,8 +959,8 @@ func (r *AppTerraformIoWorkspaceV1Alpha2Manifest) Schema(_ context.Context, _ da }, "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", Required: false, Optional: true, Computed: false, @@ -992,8 +992,8 @@ func (r *AppTerraformIoWorkspaceV1Alpha2Manifest) Schema(_ context.Context, _ da }, "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", Required: false, Optional: true, Computed: false, @@ -1051,8 +1051,8 @@ func (r *AppTerraformIoWorkspaceV1Alpha2Manifest) Schema(_ context.Context, _ da }, "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/apps_kubeblocks_io_v1alpha1/apps_kubeblocks_io_backup_policy_template_v1alpha1_manifest.go b/internal/provider/apps_kubeblocks_io_v1alpha1/apps_kubeblocks_io_backup_policy_template_v1alpha1_manifest.go index 2c18e1b62..8779258ae 100644 --- a/internal/provider/apps_kubeblocks_io_v1alpha1/apps_kubeblocks_io_backup_policy_template_v1alpha1_manifest.go +++ b/internal/provider/apps_kubeblocks_io_v1alpha1/apps_kubeblocks_io_backup_policy_template_v1alpha1_manifest.go @@ -106,6 +106,10 @@ type AppsKubeblocksIoBackupPolicyTemplateV1Alpha1ManifestData struct { SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"` UsernameKey *string `tfsdk:"username_key" json:"usernameKey,omitempty"` } `tfsdk:"connection_credential" json:"connectionCredential,omitempty"` + ContainerPort *struct { + ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"` + PortName *string `tfsdk:"port_name" json:"portName,omitempty"` + } `tfsdk:"container_port" json:"containerPort,omitempty"` FallbackRole *string `tfsdk:"fallback_role" json:"fallbackRole,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` PodSelector *struct { @@ -160,6 +164,10 @@ type AppsKubeblocksIoBackupPolicyTemplateV1Alpha1ManifestData struct { SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"` UsernameKey *string `tfsdk:"username_key" json:"usernameKey,omitempty"` } `tfsdk:"connection_credential" json:"connectionCredential,omitempty"` + ContainerPort *struct { + ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"` + PortName *string `tfsdk:"port_name" json:"portName,omitempty"` + } `tfsdk:"container_port" json:"containerPort,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` PodSelector *struct { FallbackLabelSelector *struct { @@ -201,7 +209,11 @@ type AppsKubeblocksIoBackupPolicyTemplateV1Alpha1ManifestData struct { RetentionPeriod *string `tfsdk:"retention_period" json:"retentionPeriod,omitempty"` } `tfsdk:"schedules" json:"schedules,omitempty"` Target *struct { - Account *string `tfsdk:"account" json:"account,omitempty"` + Account *string `tfsdk:"account" json:"account,omitempty"` + ContainerPort *struct { + ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"` + PortName *string `tfsdk:"port_name" json:"portName,omitempty"` + } `tfsdk:"container_port" json:"containerPort,omitempty"` FallbackRole *string `tfsdk:"fallback_role" json:"fallbackRole,omitempty"` Role *string `tfsdk:"role" json:"role,omitempty"` Strategy *string `tfsdk:"strategy" json:"strategy,omitempty"` @@ -688,6 +700,31 @@ func (r *AppsKubeblocksIoBackupPolicyTemplateV1Alpha1Manifest) Schema(_ context. Computed: false, }, + "container_port": schema.SingleNestedAttribute{ + Description: "Specifies the container port in the target pod.If not specified, the first container and its first port will be used.", + MarkdownDescription: "Specifies the container port in the target pod.If not specified, the first container and its first port will be used.", + Attributes: map[string]schema.Attribute{ + "container_name": schema.StringAttribute{ + Description: "Specifies the name of container with the port.", + MarkdownDescription: "Specifies the name of container with the port.", + Required: false, + Optional: true, + Computed: false, + }, + + "port_name": schema.StringAttribute{ + Description: "Specifies the port name.", + MarkdownDescription: "Specifies the port name.", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + "fallback_role": schema.StringAttribute{ Description: "Specifies the fallback role to select one replica for backup, this only takes effect when the'strategy' field below is set to 'Any'.", MarkdownDescription: "Specifies the fallback role to select one replica for backup, this only takes effect when the'strategy' field below is set to 'Any'.", @@ -1070,6 +1107,31 @@ func (r *AppsKubeblocksIoBackupPolicyTemplateV1Alpha1Manifest) Schema(_ context. Computed: false, }, + "container_port": schema.SingleNestedAttribute{ + Description: "Specifies the container port in the target pod.If not specified, the first container and its first port will be used.", + MarkdownDescription: "Specifies the container port in the target pod.If not specified, the first container and its first port will be used.", + Attributes: map[string]schema.Attribute{ + "container_name": schema.StringAttribute{ + Description: "Specifies the name of container with the port.", + MarkdownDescription: "Specifies the name of container with the port.", + Required: false, + Optional: true, + Computed: false, + }, + + "port_name": schema.StringAttribute{ + Description: "Specifies the port name.", + MarkdownDescription: "Specifies the port name.", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + "name": schema.StringAttribute{ Description: "Specifies a mandatory and unique identifier for each target when using the 'targets' field.The backup data for the current target is stored in a uniquely named subdirectory.", MarkdownDescription: "Specifies a mandatory and unique identifier for each target when using the 'targets' field.The backup data for the current target is stored in a uniquely named subdirectory.", @@ -1362,6 +1424,31 @@ func (r *AppsKubeblocksIoBackupPolicyTemplateV1Alpha1Manifest) Schema(_ context. Computed: false, }, + "container_port": schema.SingleNestedAttribute{ + Description: "Specifies the container port in the target pod.If not specified, the first container and its first port will be used.", + MarkdownDescription: "Specifies the container port in the target pod.If not specified, the first container and its first port will be used.", + Attributes: map[string]schema.Attribute{ + "container_name": schema.StringAttribute{ + Description: "Specifies the name of container with the port.", + MarkdownDescription: "Specifies the name of container with the port.", + Required: false, + Optional: true, + Computed: false, + }, + + "port_name": schema.StringAttribute{ + Description: "Specifies the port name.", + MarkdownDescription: "Specifies the port name.", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + "fallback_role": schema.StringAttribute{ Description: "Specifies the fallback role to select one replica for backup, this only takes effect when the'strategy' field below is set to 'Any'.", MarkdownDescription: "Specifies the fallback role to select one replica for backup, this only takes effect when the'strategy' field below is set to 'Any'.", diff --git a/internal/provider/apps_kubeblocks_io_v1alpha1/apps_kubeblocks_io_cluster_v1alpha1_manifest.go b/internal/provider/apps_kubeblocks_io_v1alpha1/apps_kubeblocks_io_cluster_v1alpha1_manifest.go index e2a0ab021..8ec7e1884 100644 --- a/internal/provider/apps_kubeblocks_io_v1alpha1/apps_kubeblocks_io_cluster_v1alpha1_manifest.go +++ b/internal/provider/apps_kubeblocks_io_v1alpha1/apps_kubeblocks_io_cluster_v1alpha1_manifest.go @@ -6818,6 +6818,9 @@ func (r *AppsKubeblocksIoClusterV1Alpha1Manifest) Schema(_ context.Context, _ da Required: false, Optional: true, Computed: false, + Validators: []validator.String{ + stringvalidator.OneOf("StrictInPlace", "PreferInPlace"), + }, }, "replicas": schema.Int64Attribute{ @@ -15909,6 +15912,9 @@ func (r *AppsKubeblocksIoClusterV1Alpha1Manifest) Schema(_ context.Context, _ da Required: false, Optional: true, Computed: false, + Validators: []validator.String{ + stringvalidator.OneOf("StrictInPlace", "PreferInPlace"), + }, }, "replicas": schema.Int64Attribute{ diff --git a/internal/provider/apps_kubeblocks_io_v1alpha1/apps_kubeblocks_io_component_definition_v1alpha1_manifest.go b/internal/provider/apps_kubeblocks_io_v1alpha1/apps_kubeblocks_io_component_definition_v1alpha1_manifest.go index e5938fbc8..98bf87b58 100644 --- a/internal/provider/apps_kubeblocks_io_v1alpha1/apps_kubeblocks_io_component_definition_v1alpha1_manifest.go +++ b/internal/provider/apps_kubeblocks_io_v1alpha1/apps_kubeblocks_io_component_definition_v1alpha1_manifest.go @@ -78,448 +78,130 @@ type AppsKubeblocksIoComponentDefinitionV1Alpha1ManifestData struct { Labels *map[string]string `tfsdk:"labels" json:"labels,omitempty"` LifecycleActions *struct { AccountProvision *struct { - BuiltinHandler *string `tfsdk:"builtin_handler" json:"builtinHandler,omitempty"` - CustomHandler *struct { - Exec *struct { - Args *[]string `tfsdk:"args" json:"args,omitempty"` - Command *[]string `tfsdk:"command" json:"command,omitempty"` - Container *string `tfsdk:"container" json:"container,omitempty"` - Env *[]struct { - Name *string `tfsdk:"name" json:"name,omitempty"` - Value *string `tfsdk:"value" json:"value,omitempty"` - ValueFrom *struct { - ConfigMapKeyRef *struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - Optional *bool `tfsdk:"optional" json:"optional,omitempty"` - } `tfsdk:"config_map_key_ref" json:"configMapKeyRef,omitempty"` - FieldRef *struct { - ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"` - FieldPath *string `tfsdk:"field_path" json:"fieldPath,omitempty"` - } `tfsdk:"field_ref" json:"fieldRef,omitempty"` - ResourceFieldRef *struct { - ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"` - Divisor *string `tfsdk:"divisor" json:"divisor,omitempty"` - Resource *string `tfsdk:"resource" json:"resource,omitempty"` - } `tfsdk:"resource_field_ref" json:"resourceFieldRef,omitempty"` - SecretKeyRef *struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - Optional *bool `tfsdk:"optional" json:"optional,omitempty"` - } `tfsdk:"secret_key_ref" json:"secretKeyRef,omitempty"` - } `tfsdk:"value_from" json:"valueFrom,omitempty"` - } `tfsdk:"env" json:"env,omitempty"` - Image *string `tfsdk:"image" json:"image,omitempty"` - MatchingKey *string `tfsdk:"matching_key" json:"matchingKey,omitempty"` - TargetPodSelector *string `tfsdk:"target_pod_selector" json:"targetPodSelector,omitempty"` - } `tfsdk:"exec" json:"exec,omitempty"` - PreCondition *string `tfsdk:"pre_condition" json:"preCondition,omitempty"` - RetryPolicy *struct { - MaxRetries *int64 `tfsdk:"max_retries" json:"maxRetries,omitempty"` - RetryInterval *int64 `tfsdk:"retry_interval" json:"retryInterval,omitempty"` - } `tfsdk:"retry_policy" json:"retryPolicy,omitempty"` - TimeoutSeconds *int64 `tfsdk:"timeout_seconds" json:"timeoutSeconds,omitempty"` - } `tfsdk:"custom_handler" json:"customHandler,omitempty"` + Exec *struct { + Args *[]string `tfsdk:"args" json:"args,omitempty"` + Command *[]string `tfsdk:"command" json:"command,omitempty"` + Container *string `tfsdk:"container" json:"container,omitempty"` + Env *[]struct { + Name *string `tfsdk:"name" json:"name,omitempty"` + Value *string `tfsdk:"value" json:"value,omitempty"` + ValueFrom *struct { + ConfigMapKeyRef *struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Optional *bool `tfsdk:"optional" json:"optional,omitempty"` + } `tfsdk:"config_map_key_ref" json:"configMapKeyRef,omitempty"` + FieldRef *struct { + ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"` + FieldPath *string `tfsdk:"field_path" json:"fieldPath,omitempty"` + } `tfsdk:"field_ref" json:"fieldRef,omitempty"` + ResourceFieldRef *struct { + ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"` + Divisor *string `tfsdk:"divisor" json:"divisor,omitempty"` + Resource *string `tfsdk:"resource" json:"resource,omitempty"` + } `tfsdk:"resource_field_ref" json:"resourceFieldRef,omitempty"` + SecretKeyRef *struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Optional *bool `tfsdk:"optional" json:"optional,omitempty"` + } `tfsdk:"secret_key_ref" json:"secretKeyRef,omitempty"` + } `tfsdk:"value_from" json:"valueFrom,omitempty"` + } `tfsdk:"env" json:"env,omitempty"` + Image *string `tfsdk:"image" json:"image,omitempty"` + MatchingKey *string `tfsdk:"matching_key" json:"matchingKey,omitempty"` + TargetPodSelector *string `tfsdk:"target_pod_selector" json:"targetPodSelector,omitempty"` + } `tfsdk:"exec" json:"exec,omitempty"` + PreCondition *string `tfsdk:"pre_condition" json:"preCondition,omitempty"` + RetryPolicy *struct { + MaxRetries *int64 `tfsdk:"max_retries" json:"maxRetries,omitempty"` + RetryInterval *int64 `tfsdk:"retry_interval" json:"retryInterval,omitempty"` + } `tfsdk:"retry_policy" json:"retryPolicy,omitempty"` + TimeoutSeconds *int64 `tfsdk:"timeout_seconds" json:"timeoutSeconds,omitempty"` } `tfsdk:"account_provision" json:"accountProvision,omitempty"` DataDump *struct { - BuiltinHandler *string `tfsdk:"builtin_handler" json:"builtinHandler,omitempty"` - CustomHandler *struct { - Exec *struct { - Args *[]string `tfsdk:"args" json:"args,omitempty"` - Command *[]string `tfsdk:"command" json:"command,omitempty"` - Container *string `tfsdk:"container" json:"container,omitempty"` - Env *[]struct { - Name *string `tfsdk:"name" json:"name,omitempty"` - Value *string `tfsdk:"value" json:"value,omitempty"` - ValueFrom *struct { - ConfigMapKeyRef *struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - Optional *bool `tfsdk:"optional" json:"optional,omitempty"` - } `tfsdk:"config_map_key_ref" json:"configMapKeyRef,omitempty"` - FieldRef *struct { - ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"` - FieldPath *string `tfsdk:"field_path" json:"fieldPath,omitempty"` - } `tfsdk:"field_ref" json:"fieldRef,omitempty"` - ResourceFieldRef *struct { - ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"` - Divisor *string `tfsdk:"divisor" json:"divisor,omitempty"` - Resource *string `tfsdk:"resource" json:"resource,omitempty"` - } `tfsdk:"resource_field_ref" json:"resourceFieldRef,omitempty"` - SecretKeyRef *struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - Optional *bool `tfsdk:"optional" json:"optional,omitempty"` - } `tfsdk:"secret_key_ref" json:"secretKeyRef,omitempty"` - } `tfsdk:"value_from" json:"valueFrom,omitempty"` - } `tfsdk:"env" json:"env,omitempty"` - Image *string `tfsdk:"image" json:"image,omitempty"` - MatchingKey *string `tfsdk:"matching_key" json:"matchingKey,omitempty"` - TargetPodSelector *string `tfsdk:"target_pod_selector" json:"targetPodSelector,omitempty"` - } `tfsdk:"exec" json:"exec,omitempty"` - PreCondition *string `tfsdk:"pre_condition" json:"preCondition,omitempty"` - RetryPolicy *struct { - MaxRetries *int64 `tfsdk:"max_retries" json:"maxRetries,omitempty"` - RetryInterval *int64 `tfsdk:"retry_interval" json:"retryInterval,omitempty"` - } `tfsdk:"retry_policy" json:"retryPolicy,omitempty"` - TimeoutSeconds *int64 `tfsdk:"timeout_seconds" json:"timeoutSeconds,omitempty"` - } `tfsdk:"custom_handler" json:"customHandler,omitempty"` + Exec *struct { + Args *[]string `tfsdk:"args" json:"args,omitempty"` + Command *[]string `tfsdk:"command" json:"command,omitempty"` + Container *string `tfsdk:"container" json:"container,omitempty"` + Env *[]struct { + Name *string `tfsdk:"name" json:"name,omitempty"` + Value *string `tfsdk:"value" json:"value,omitempty"` + ValueFrom *struct { + ConfigMapKeyRef *struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Optional *bool `tfsdk:"optional" json:"optional,omitempty"` + } `tfsdk:"config_map_key_ref" json:"configMapKeyRef,omitempty"` + FieldRef *struct { + ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"` + FieldPath *string `tfsdk:"field_path" json:"fieldPath,omitempty"` + } `tfsdk:"field_ref" json:"fieldRef,omitempty"` + ResourceFieldRef *struct { + ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"` + Divisor *string `tfsdk:"divisor" json:"divisor,omitempty"` + Resource *string `tfsdk:"resource" json:"resource,omitempty"` + } `tfsdk:"resource_field_ref" json:"resourceFieldRef,omitempty"` + SecretKeyRef *struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Optional *bool `tfsdk:"optional" json:"optional,omitempty"` + } `tfsdk:"secret_key_ref" json:"secretKeyRef,omitempty"` + } `tfsdk:"value_from" json:"valueFrom,omitempty"` + } `tfsdk:"env" json:"env,omitempty"` + Image *string `tfsdk:"image" json:"image,omitempty"` + MatchingKey *string `tfsdk:"matching_key" json:"matchingKey,omitempty"` + TargetPodSelector *string `tfsdk:"target_pod_selector" json:"targetPodSelector,omitempty"` + } `tfsdk:"exec" json:"exec,omitempty"` + PreCondition *string `tfsdk:"pre_condition" json:"preCondition,omitempty"` + RetryPolicy *struct { + MaxRetries *int64 `tfsdk:"max_retries" json:"maxRetries,omitempty"` + RetryInterval *int64 `tfsdk:"retry_interval" json:"retryInterval,omitempty"` + } `tfsdk:"retry_policy" json:"retryPolicy,omitempty"` + TimeoutSeconds *int64 `tfsdk:"timeout_seconds" json:"timeoutSeconds,omitempty"` } `tfsdk:"data_dump" json:"dataDump,omitempty"` DataLoad *struct { - BuiltinHandler *string `tfsdk:"builtin_handler" json:"builtinHandler,omitempty"` - CustomHandler *struct { - Exec *struct { - Args *[]string `tfsdk:"args" json:"args,omitempty"` - Command *[]string `tfsdk:"command" json:"command,omitempty"` - Container *string `tfsdk:"container" json:"container,omitempty"` - Env *[]struct { - Name *string `tfsdk:"name" json:"name,omitempty"` - Value *string `tfsdk:"value" json:"value,omitempty"` - ValueFrom *struct { - ConfigMapKeyRef *struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - Optional *bool `tfsdk:"optional" json:"optional,omitempty"` - } `tfsdk:"config_map_key_ref" json:"configMapKeyRef,omitempty"` - FieldRef *struct { - ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"` - FieldPath *string `tfsdk:"field_path" json:"fieldPath,omitempty"` - } `tfsdk:"field_ref" json:"fieldRef,omitempty"` - ResourceFieldRef *struct { - ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"` - Divisor *string `tfsdk:"divisor" json:"divisor,omitempty"` - Resource *string `tfsdk:"resource" json:"resource,omitempty"` - } `tfsdk:"resource_field_ref" json:"resourceFieldRef,omitempty"` - SecretKeyRef *struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - Optional *bool `tfsdk:"optional" json:"optional,omitempty"` - } `tfsdk:"secret_key_ref" json:"secretKeyRef,omitempty"` - } `tfsdk:"value_from" json:"valueFrom,omitempty"` - } `tfsdk:"env" json:"env,omitempty"` - Image *string `tfsdk:"image" json:"image,omitempty"` - MatchingKey *string `tfsdk:"matching_key" json:"matchingKey,omitempty"` - TargetPodSelector *string `tfsdk:"target_pod_selector" json:"targetPodSelector,omitempty"` - } `tfsdk:"exec" json:"exec,omitempty"` - PreCondition *string `tfsdk:"pre_condition" json:"preCondition,omitempty"` - RetryPolicy *struct { - MaxRetries *int64 `tfsdk:"max_retries" json:"maxRetries,omitempty"` - RetryInterval *int64 `tfsdk:"retry_interval" json:"retryInterval,omitempty"` - } `tfsdk:"retry_policy" json:"retryPolicy,omitempty"` - TimeoutSeconds *int64 `tfsdk:"timeout_seconds" json:"timeoutSeconds,omitempty"` - } `tfsdk:"custom_handler" json:"customHandler,omitempty"` + Exec *struct { + Args *[]string `tfsdk:"args" json:"args,omitempty"` + Command *[]string `tfsdk:"command" json:"command,omitempty"` + Container *string `tfsdk:"container" json:"container,omitempty"` + Env *[]struct { + Name *string `tfsdk:"name" json:"name,omitempty"` + Value *string `tfsdk:"value" json:"value,omitempty"` + ValueFrom *struct { + ConfigMapKeyRef *struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Optional *bool `tfsdk:"optional" json:"optional,omitempty"` + } `tfsdk:"config_map_key_ref" json:"configMapKeyRef,omitempty"` + FieldRef *struct { + ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"` + FieldPath *string `tfsdk:"field_path" json:"fieldPath,omitempty"` + } `tfsdk:"field_ref" json:"fieldRef,omitempty"` + ResourceFieldRef *struct { + ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"` + Divisor *string `tfsdk:"divisor" json:"divisor,omitempty"` + Resource *string `tfsdk:"resource" json:"resource,omitempty"` + } `tfsdk:"resource_field_ref" json:"resourceFieldRef,omitempty"` + SecretKeyRef *struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Optional *bool `tfsdk:"optional" json:"optional,omitempty"` + } `tfsdk:"secret_key_ref" json:"secretKeyRef,omitempty"` + } `tfsdk:"value_from" json:"valueFrom,omitempty"` + } `tfsdk:"env" json:"env,omitempty"` + Image *string `tfsdk:"image" json:"image,omitempty"` + MatchingKey *string `tfsdk:"matching_key" json:"matchingKey,omitempty"` + TargetPodSelector *string `tfsdk:"target_pod_selector" json:"targetPodSelector,omitempty"` + } `tfsdk:"exec" json:"exec,omitempty"` + PreCondition *string `tfsdk:"pre_condition" json:"preCondition,omitempty"` + RetryPolicy *struct { + MaxRetries *int64 `tfsdk:"max_retries" json:"maxRetries,omitempty"` + RetryInterval *int64 `tfsdk:"retry_interval" json:"retryInterval,omitempty"` + } `tfsdk:"retry_policy" json:"retryPolicy,omitempty"` + TimeoutSeconds *int64 `tfsdk:"timeout_seconds" json:"timeoutSeconds,omitempty"` } `tfsdk:"data_load" json:"dataLoad,omitempty"` MemberJoin *struct { - BuiltinHandler *string `tfsdk:"builtin_handler" json:"builtinHandler,omitempty"` - CustomHandler *struct { - Exec *struct { - Args *[]string `tfsdk:"args" json:"args,omitempty"` - Command *[]string `tfsdk:"command" json:"command,omitempty"` - Container *string `tfsdk:"container" json:"container,omitempty"` - Env *[]struct { - Name *string `tfsdk:"name" json:"name,omitempty"` - Value *string `tfsdk:"value" json:"value,omitempty"` - ValueFrom *struct { - ConfigMapKeyRef *struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - Optional *bool `tfsdk:"optional" json:"optional,omitempty"` - } `tfsdk:"config_map_key_ref" json:"configMapKeyRef,omitempty"` - FieldRef *struct { - ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"` - FieldPath *string `tfsdk:"field_path" json:"fieldPath,omitempty"` - } `tfsdk:"field_ref" json:"fieldRef,omitempty"` - ResourceFieldRef *struct { - ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"` - Divisor *string `tfsdk:"divisor" json:"divisor,omitempty"` - Resource *string `tfsdk:"resource" json:"resource,omitempty"` - } `tfsdk:"resource_field_ref" json:"resourceFieldRef,omitempty"` - SecretKeyRef *struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - Optional *bool `tfsdk:"optional" json:"optional,omitempty"` - } `tfsdk:"secret_key_ref" json:"secretKeyRef,omitempty"` - } `tfsdk:"value_from" json:"valueFrom,omitempty"` - } `tfsdk:"env" json:"env,omitempty"` - Image *string `tfsdk:"image" json:"image,omitempty"` - MatchingKey *string `tfsdk:"matching_key" json:"matchingKey,omitempty"` - TargetPodSelector *string `tfsdk:"target_pod_selector" json:"targetPodSelector,omitempty"` - } `tfsdk:"exec" json:"exec,omitempty"` - PreCondition *string `tfsdk:"pre_condition" json:"preCondition,omitempty"` - RetryPolicy *struct { - MaxRetries *int64 `tfsdk:"max_retries" json:"maxRetries,omitempty"` - RetryInterval *int64 `tfsdk:"retry_interval" json:"retryInterval,omitempty"` - } `tfsdk:"retry_policy" json:"retryPolicy,omitempty"` - TimeoutSeconds *int64 `tfsdk:"timeout_seconds" json:"timeoutSeconds,omitempty"` - } `tfsdk:"custom_handler" json:"customHandler,omitempty"` - } `tfsdk:"member_join" json:"memberJoin,omitempty"` - MemberLeave *struct { - BuiltinHandler *string `tfsdk:"builtin_handler" json:"builtinHandler,omitempty"` - CustomHandler *struct { - Exec *struct { - Args *[]string `tfsdk:"args" json:"args,omitempty"` - Command *[]string `tfsdk:"command" json:"command,omitempty"` - Container *string `tfsdk:"container" json:"container,omitempty"` - Env *[]struct { - Name *string `tfsdk:"name" json:"name,omitempty"` - Value *string `tfsdk:"value" json:"value,omitempty"` - ValueFrom *struct { - ConfigMapKeyRef *struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - Optional *bool `tfsdk:"optional" json:"optional,omitempty"` - } `tfsdk:"config_map_key_ref" json:"configMapKeyRef,omitempty"` - FieldRef *struct { - ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"` - FieldPath *string `tfsdk:"field_path" json:"fieldPath,omitempty"` - } `tfsdk:"field_ref" json:"fieldRef,omitempty"` - ResourceFieldRef *struct { - ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"` - Divisor *string `tfsdk:"divisor" json:"divisor,omitempty"` - Resource *string `tfsdk:"resource" json:"resource,omitempty"` - } `tfsdk:"resource_field_ref" json:"resourceFieldRef,omitempty"` - SecretKeyRef *struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - Optional *bool `tfsdk:"optional" json:"optional,omitempty"` - } `tfsdk:"secret_key_ref" json:"secretKeyRef,omitempty"` - } `tfsdk:"value_from" json:"valueFrom,omitempty"` - } `tfsdk:"env" json:"env,omitempty"` - Image *string `tfsdk:"image" json:"image,omitempty"` - MatchingKey *string `tfsdk:"matching_key" json:"matchingKey,omitempty"` - TargetPodSelector *string `tfsdk:"target_pod_selector" json:"targetPodSelector,omitempty"` - } `tfsdk:"exec" json:"exec,omitempty"` - PreCondition *string `tfsdk:"pre_condition" json:"preCondition,omitempty"` - RetryPolicy *struct { - MaxRetries *int64 `tfsdk:"max_retries" json:"maxRetries,omitempty"` - RetryInterval *int64 `tfsdk:"retry_interval" json:"retryInterval,omitempty"` - } `tfsdk:"retry_policy" json:"retryPolicy,omitempty"` - TimeoutSeconds *int64 `tfsdk:"timeout_seconds" json:"timeoutSeconds,omitempty"` - } `tfsdk:"custom_handler" json:"customHandler,omitempty"` - } `tfsdk:"member_leave" json:"memberLeave,omitempty"` - PostProvision *struct { - BuiltinHandler *string `tfsdk:"builtin_handler" json:"builtinHandler,omitempty"` - CustomHandler *struct { - Exec *struct { - Args *[]string `tfsdk:"args" json:"args,omitempty"` - Command *[]string `tfsdk:"command" json:"command,omitempty"` - Container *string `tfsdk:"container" json:"container,omitempty"` - Env *[]struct { - Name *string `tfsdk:"name" json:"name,omitempty"` - Value *string `tfsdk:"value" json:"value,omitempty"` - ValueFrom *struct { - ConfigMapKeyRef *struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - Optional *bool `tfsdk:"optional" json:"optional,omitempty"` - } `tfsdk:"config_map_key_ref" json:"configMapKeyRef,omitempty"` - FieldRef *struct { - ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"` - FieldPath *string `tfsdk:"field_path" json:"fieldPath,omitempty"` - } `tfsdk:"field_ref" json:"fieldRef,omitempty"` - ResourceFieldRef *struct { - ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"` - Divisor *string `tfsdk:"divisor" json:"divisor,omitempty"` - Resource *string `tfsdk:"resource" json:"resource,omitempty"` - } `tfsdk:"resource_field_ref" json:"resourceFieldRef,omitempty"` - SecretKeyRef *struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - Optional *bool `tfsdk:"optional" json:"optional,omitempty"` - } `tfsdk:"secret_key_ref" json:"secretKeyRef,omitempty"` - } `tfsdk:"value_from" json:"valueFrom,omitempty"` - } `tfsdk:"env" json:"env,omitempty"` - Image *string `tfsdk:"image" json:"image,omitempty"` - MatchingKey *string `tfsdk:"matching_key" json:"matchingKey,omitempty"` - TargetPodSelector *string `tfsdk:"target_pod_selector" json:"targetPodSelector,omitempty"` - } `tfsdk:"exec" json:"exec,omitempty"` - PreCondition *string `tfsdk:"pre_condition" json:"preCondition,omitempty"` - RetryPolicy *struct { - MaxRetries *int64 `tfsdk:"max_retries" json:"maxRetries,omitempty"` - RetryInterval *int64 `tfsdk:"retry_interval" json:"retryInterval,omitempty"` - } `tfsdk:"retry_policy" json:"retryPolicy,omitempty"` - TimeoutSeconds *int64 `tfsdk:"timeout_seconds" json:"timeoutSeconds,omitempty"` - } `tfsdk:"custom_handler" json:"customHandler,omitempty"` - } `tfsdk:"post_provision" json:"postProvision,omitempty"` - PreTerminate *struct { - BuiltinHandler *string `tfsdk:"builtin_handler" json:"builtinHandler,omitempty"` - CustomHandler *struct { - Exec *struct { - Args *[]string `tfsdk:"args" json:"args,omitempty"` - Command *[]string `tfsdk:"command" json:"command,omitempty"` - Container *string `tfsdk:"container" json:"container,omitempty"` - Env *[]struct { - Name *string `tfsdk:"name" json:"name,omitempty"` - Value *string `tfsdk:"value" json:"value,omitempty"` - ValueFrom *struct { - ConfigMapKeyRef *struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - Optional *bool `tfsdk:"optional" json:"optional,omitempty"` - } `tfsdk:"config_map_key_ref" json:"configMapKeyRef,omitempty"` - FieldRef *struct { - ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"` - FieldPath *string `tfsdk:"field_path" json:"fieldPath,omitempty"` - } `tfsdk:"field_ref" json:"fieldRef,omitempty"` - ResourceFieldRef *struct { - ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"` - Divisor *string `tfsdk:"divisor" json:"divisor,omitempty"` - Resource *string `tfsdk:"resource" json:"resource,omitempty"` - } `tfsdk:"resource_field_ref" json:"resourceFieldRef,omitempty"` - SecretKeyRef *struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - Optional *bool `tfsdk:"optional" json:"optional,omitempty"` - } `tfsdk:"secret_key_ref" json:"secretKeyRef,omitempty"` - } `tfsdk:"value_from" json:"valueFrom,omitempty"` - } `tfsdk:"env" json:"env,omitempty"` - Image *string `tfsdk:"image" json:"image,omitempty"` - MatchingKey *string `tfsdk:"matching_key" json:"matchingKey,omitempty"` - TargetPodSelector *string `tfsdk:"target_pod_selector" json:"targetPodSelector,omitempty"` - } `tfsdk:"exec" json:"exec,omitempty"` - PreCondition *string `tfsdk:"pre_condition" json:"preCondition,omitempty"` - RetryPolicy *struct { - MaxRetries *int64 `tfsdk:"max_retries" json:"maxRetries,omitempty"` - RetryInterval *int64 `tfsdk:"retry_interval" json:"retryInterval,omitempty"` - } `tfsdk:"retry_policy" json:"retryPolicy,omitempty"` - TimeoutSeconds *int64 `tfsdk:"timeout_seconds" json:"timeoutSeconds,omitempty"` - } `tfsdk:"custom_handler" json:"customHandler,omitempty"` - } `tfsdk:"pre_terminate" json:"preTerminate,omitempty"` - Readonly *struct { - BuiltinHandler *string `tfsdk:"builtin_handler" json:"builtinHandler,omitempty"` - CustomHandler *struct { - Exec *struct { - Args *[]string `tfsdk:"args" json:"args,omitempty"` - Command *[]string `tfsdk:"command" json:"command,omitempty"` - Container *string `tfsdk:"container" json:"container,omitempty"` - Env *[]struct { - Name *string `tfsdk:"name" json:"name,omitempty"` - Value *string `tfsdk:"value" json:"value,omitempty"` - ValueFrom *struct { - ConfigMapKeyRef *struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - Optional *bool `tfsdk:"optional" json:"optional,omitempty"` - } `tfsdk:"config_map_key_ref" json:"configMapKeyRef,omitempty"` - FieldRef *struct { - ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"` - FieldPath *string `tfsdk:"field_path" json:"fieldPath,omitempty"` - } `tfsdk:"field_ref" json:"fieldRef,omitempty"` - ResourceFieldRef *struct { - ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"` - Divisor *string `tfsdk:"divisor" json:"divisor,omitempty"` - Resource *string `tfsdk:"resource" json:"resource,omitempty"` - } `tfsdk:"resource_field_ref" json:"resourceFieldRef,omitempty"` - SecretKeyRef *struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - Optional *bool `tfsdk:"optional" json:"optional,omitempty"` - } `tfsdk:"secret_key_ref" json:"secretKeyRef,omitempty"` - } `tfsdk:"value_from" json:"valueFrom,omitempty"` - } `tfsdk:"env" json:"env,omitempty"` - Image *string `tfsdk:"image" json:"image,omitempty"` - MatchingKey *string `tfsdk:"matching_key" json:"matchingKey,omitempty"` - TargetPodSelector *string `tfsdk:"target_pod_selector" json:"targetPodSelector,omitempty"` - } `tfsdk:"exec" json:"exec,omitempty"` - PreCondition *string `tfsdk:"pre_condition" json:"preCondition,omitempty"` - RetryPolicy *struct { - MaxRetries *int64 `tfsdk:"max_retries" json:"maxRetries,omitempty"` - RetryInterval *int64 `tfsdk:"retry_interval" json:"retryInterval,omitempty"` - } `tfsdk:"retry_policy" json:"retryPolicy,omitempty"` - TimeoutSeconds *int64 `tfsdk:"timeout_seconds" json:"timeoutSeconds,omitempty"` - } `tfsdk:"custom_handler" json:"customHandler,omitempty"` - } `tfsdk:"readonly" json:"readonly,omitempty"` - Readwrite *struct { - BuiltinHandler *string `tfsdk:"builtin_handler" json:"builtinHandler,omitempty"` - CustomHandler *struct { - Exec *struct { - Args *[]string `tfsdk:"args" json:"args,omitempty"` - Command *[]string `tfsdk:"command" json:"command,omitempty"` - Container *string `tfsdk:"container" json:"container,omitempty"` - Env *[]struct { - Name *string `tfsdk:"name" json:"name,omitempty"` - Value *string `tfsdk:"value" json:"value,omitempty"` - ValueFrom *struct { - ConfigMapKeyRef *struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - Optional *bool `tfsdk:"optional" json:"optional,omitempty"` - } `tfsdk:"config_map_key_ref" json:"configMapKeyRef,omitempty"` - FieldRef *struct { - ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"` - FieldPath *string `tfsdk:"field_path" json:"fieldPath,omitempty"` - } `tfsdk:"field_ref" json:"fieldRef,omitempty"` - ResourceFieldRef *struct { - ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"` - Divisor *string `tfsdk:"divisor" json:"divisor,omitempty"` - Resource *string `tfsdk:"resource" json:"resource,omitempty"` - } `tfsdk:"resource_field_ref" json:"resourceFieldRef,omitempty"` - SecretKeyRef *struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - Optional *bool `tfsdk:"optional" json:"optional,omitempty"` - } `tfsdk:"secret_key_ref" json:"secretKeyRef,omitempty"` - } `tfsdk:"value_from" json:"valueFrom,omitempty"` - } `tfsdk:"env" json:"env,omitempty"` - Image *string `tfsdk:"image" json:"image,omitempty"` - MatchingKey *string `tfsdk:"matching_key" json:"matchingKey,omitempty"` - TargetPodSelector *string `tfsdk:"target_pod_selector" json:"targetPodSelector,omitempty"` - } `tfsdk:"exec" json:"exec,omitempty"` - PreCondition *string `tfsdk:"pre_condition" json:"preCondition,omitempty"` - RetryPolicy *struct { - MaxRetries *int64 `tfsdk:"max_retries" json:"maxRetries,omitempty"` - RetryInterval *int64 `tfsdk:"retry_interval" json:"retryInterval,omitempty"` - } `tfsdk:"retry_policy" json:"retryPolicy,omitempty"` - TimeoutSeconds *int64 `tfsdk:"timeout_seconds" json:"timeoutSeconds,omitempty"` - } `tfsdk:"custom_handler" json:"customHandler,omitempty"` - } `tfsdk:"readwrite" json:"readwrite,omitempty"` - Reconfigure *struct { - BuiltinHandler *string `tfsdk:"builtin_handler" json:"builtinHandler,omitempty"` - CustomHandler *struct { - Exec *struct { - Args *[]string `tfsdk:"args" json:"args,omitempty"` - Command *[]string `tfsdk:"command" json:"command,omitempty"` - Container *string `tfsdk:"container" json:"container,omitempty"` - Env *[]struct { - Name *string `tfsdk:"name" json:"name,omitempty"` - Value *string `tfsdk:"value" json:"value,omitempty"` - ValueFrom *struct { - ConfigMapKeyRef *struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - Optional *bool `tfsdk:"optional" json:"optional,omitempty"` - } `tfsdk:"config_map_key_ref" json:"configMapKeyRef,omitempty"` - FieldRef *struct { - ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"` - FieldPath *string `tfsdk:"field_path" json:"fieldPath,omitempty"` - } `tfsdk:"field_ref" json:"fieldRef,omitempty"` - ResourceFieldRef *struct { - ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"` - Divisor *string `tfsdk:"divisor" json:"divisor,omitempty"` - Resource *string `tfsdk:"resource" json:"resource,omitempty"` - } `tfsdk:"resource_field_ref" json:"resourceFieldRef,omitempty"` - SecretKeyRef *struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - Optional *bool `tfsdk:"optional" json:"optional,omitempty"` - } `tfsdk:"secret_key_ref" json:"secretKeyRef,omitempty"` - } `tfsdk:"value_from" json:"valueFrom,omitempty"` - } `tfsdk:"env" json:"env,omitempty"` - Image *string `tfsdk:"image" json:"image,omitempty"` - MatchingKey *string `tfsdk:"matching_key" json:"matchingKey,omitempty"` - TargetPodSelector *string `tfsdk:"target_pod_selector" json:"targetPodSelector,omitempty"` - } `tfsdk:"exec" json:"exec,omitempty"` - PreCondition *string `tfsdk:"pre_condition" json:"preCondition,omitempty"` - RetryPolicy *struct { - MaxRetries *int64 `tfsdk:"max_retries" json:"maxRetries,omitempty"` - RetryInterval *int64 `tfsdk:"retry_interval" json:"retryInterval,omitempty"` - } `tfsdk:"retry_policy" json:"retryPolicy,omitempty"` - TimeoutSeconds *int64 `tfsdk:"timeout_seconds" json:"timeoutSeconds,omitempty"` - } `tfsdk:"custom_handler" json:"customHandler,omitempty"` - } `tfsdk:"reconfigure" json:"reconfigure,omitempty"` - RoleProbe *struct { - BuiltinHandler *string `tfsdk:"builtin_handler" json:"builtinHandler,omitempty"` - Exec *struct { + Exec *struct { Args *[]string `tfsdk:"args" json:"args,omitempty"` Command *[]string `tfsdk:"command" json:"command,omitempty"` Container *string `tfsdk:"container" json:"container,omitempty"` @@ -552,103 +234,344 @@ type AppsKubeblocksIoComponentDefinitionV1Alpha1ManifestData struct { MatchingKey *string `tfsdk:"matching_key" json:"matchingKey,omitempty"` TargetPodSelector *string `tfsdk:"target_pod_selector" json:"targetPodSelector,omitempty"` } `tfsdk:"exec" json:"exec,omitempty"` - FailureThreshold *int64 `tfsdk:"failure_threshold" json:"failureThreshold,omitempty"` - InitialDelaySeconds *int64 `tfsdk:"initial_delay_seconds" json:"initialDelaySeconds,omitempty"` - PeriodSeconds *int64 `tfsdk:"period_seconds" json:"periodSeconds,omitempty"` - PreCondition *string `tfsdk:"pre_condition" json:"preCondition,omitempty"` - RetryPolicy *struct { + PreCondition *string `tfsdk:"pre_condition" json:"preCondition,omitempty"` + RetryPolicy *struct { MaxRetries *int64 `tfsdk:"max_retries" json:"maxRetries,omitempty"` RetryInterval *int64 `tfsdk:"retry_interval" json:"retryInterval,omitempty"` } `tfsdk:"retry_policy" json:"retryPolicy,omitempty"` - SuccessThreshold *int64 `tfsdk:"success_threshold" json:"successThreshold,omitempty"` - TimeoutSeconds *int64 `tfsdk:"timeout_seconds" json:"timeoutSeconds,omitempty"` - } `tfsdk:"role_probe" json:"roleProbe,omitempty"` - Switchover *struct { - ScriptSpecSelectors *[]struct { - Name *string `tfsdk:"name" json:"name,omitempty"` - } `tfsdk:"script_spec_selectors" json:"scriptSpecSelectors,omitempty"` - WithCandidate *struct { - Exec *struct { - Args *[]string `tfsdk:"args" json:"args,omitempty"` - Command *[]string `tfsdk:"command" json:"command,omitempty"` - Container *string `tfsdk:"container" json:"container,omitempty"` - Env *[]struct { - Name *string `tfsdk:"name" json:"name,omitempty"` - Value *string `tfsdk:"value" json:"value,omitempty"` - ValueFrom *struct { - ConfigMapKeyRef *struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - Optional *bool `tfsdk:"optional" json:"optional,omitempty"` - } `tfsdk:"config_map_key_ref" json:"configMapKeyRef,omitempty"` - FieldRef *struct { - ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"` - FieldPath *string `tfsdk:"field_path" json:"fieldPath,omitempty"` - } `tfsdk:"field_ref" json:"fieldRef,omitempty"` - ResourceFieldRef *struct { - ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"` - Divisor *string `tfsdk:"divisor" json:"divisor,omitempty"` - Resource *string `tfsdk:"resource" json:"resource,omitempty"` - } `tfsdk:"resource_field_ref" json:"resourceFieldRef,omitempty"` - SecretKeyRef *struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - Optional *bool `tfsdk:"optional" json:"optional,omitempty"` - } `tfsdk:"secret_key_ref" json:"secretKeyRef,omitempty"` - } `tfsdk:"value_from" json:"valueFrom,omitempty"` - } `tfsdk:"env" json:"env,omitempty"` - Image *string `tfsdk:"image" json:"image,omitempty"` - MatchingKey *string `tfsdk:"matching_key" json:"matchingKey,omitempty"` - TargetPodSelector *string `tfsdk:"target_pod_selector" json:"targetPodSelector,omitempty"` - } `tfsdk:"exec" json:"exec,omitempty"` - PreCondition *string `tfsdk:"pre_condition" json:"preCondition,omitempty"` - RetryPolicy *struct { - MaxRetries *int64 `tfsdk:"max_retries" json:"maxRetries,omitempty"` - RetryInterval *int64 `tfsdk:"retry_interval" json:"retryInterval,omitempty"` - } `tfsdk:"retry_policy" json:"retryPolicy,omitempty"` - TimeoutSeconds *int64 `tfsdk:"timeout_seconds" json:"timeoutSeconds,omitempty"` - } `tfsdk:"with_candidate" json:"withCandidate,omitempty"` - WithoutCandidate *struct { - Exec *struct { - Args *[]string `tfsdk:"args" json:"args,omitempty"` - Command *[]string `tfsdk:"command" json:"command,omitempty"` - Container *string `tfsdk:"container" json:"container,omitempty"` - Env *[]struct { - Name *string `tfsdk:"name" json:"name,omitempty"` - Value *string `tfsdk:"value" json:"value,omitempty"` - ValueFrom *struct { - ConfigMapKeyRef *struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - Optional *bool `tfsdk:"optional" json:"optional,omitempty"` - } `tfsdk:"config_map_key_ref" json:"configMapKeyRef,omitempty"` - FieldRef *struct { - ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"` - FieldPath *string `tfsdk:"field_path" json:"fieldPath,omitempty"` - } `tfsdk:"field_ref" json:"fieldRef,omitempty"` - ResourceFieldRef *struct { - ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"` - Divisor *string `tfsdk:"divisor" json:"divisor,omitempty"` - Resource *string `tfsdk:"resource" json:"resource,omitempty"` - } `tfsdk:"resource_field_ref" json:"resourceFieldRef,omitempty"` - SecretKeyRef *struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - Optional *bool `tfsdk:"optional" json:"optional,omitempty"` - } `tfsdk:"secret_key_ref" json:"secretKeyRef,omitempty"` - } `tfsdk:"value_from" json:"valueFrom,omitempty"` - } `tfsdk:"env" json:"env,omitempty"` - Image *string `tfsdk:"image" json:"image,omitempty"` - MatchingKey *string `tfsdk:"matching_key" json:"matchingKey,omitempty"` - TargetPodSelector *string `tfsdk:"target_pod_selector" json:"targetPodSelector,omitempty"` - } `tfsdk:"exec" json:"exec,omitempty"` - PreCondition *string `tfsdk:"pre_condition" json:"preCondition,omitempty"` - RetryPolicy *struct { - MaxRetries *int64 `tfsdk:"max_retries" json:"maxRetries,omitempty"` - RetryInterval *int64 `tfsdk:"retry_interval" json:"retryInterval,omitempty"` - } `tfsdk:"retry_policy" json:"retryPolicy,omitempty"` - TimeoutSeconds *int64 `tfsdk:"timeout_seconds" json:"timeoutSeconds,omitempty"` - } `tfsdk:"without_candidate" json:"withoutCandidate,omitempty"` + TimeoutSeconds *int64 `tfsdk:"timeout_seconds" json:"timeoutSeconds,omitempty"` + } `tfsdk:"member_join" json:"memberJoin,omitempty"` + MemberLeave *struct { + Exec *struct { + Args *[]string `tfsdk:"args" json:"args,omitempty"` + Command *[]string `tfsdk:"command" json:"command,omitempty"` + Container *string `tfsdk:"container" json:"container,omitempty"` + Env *[]struct { + Name *string `tfsdk:"name" json:"name,omitempty"` + Value *string `tfsdk:"value" json:"value,omitempty"` + ValueFrom *struct { + ConfigMapKeyRef *struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Optional *bool `tfsdk:"optional" json:"optional,omitempty"` + } `tfsdk:"config_map_key_ref" json:"configMapKeyRef,omitempty"` + FieldRef *struct { + ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"` + FieldPath *string `tfsdk:"field_path" json:"fieldPath,omitempty"` + } `tfsdk:"field_ref" json:"fieldRef,omitempty"` + ResourceFieldRef *struct { + ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"` + Divisor *string `tfsdk:"divisor" json:"divisor,omitempty"` + Resource *string `tfsdk:"resource" json:"resource,omitempty"` + } `tfsdk:"resource_field_ref" json:"resourceFieldRef,omitempty"` + SecretKeyRef *struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Optional *bool `tfsdk:"optional" json:"optional,omitempty"` + } `tfsdk:"secret_key_ref" json:"secretKeyRef,omitempty"` + } `tfsdk:"value_from" json:"valueFrom,omitempty"` + } `tfsdk:"env" json:"env,omitempty"` + Image *string `tfsdk:"image" json:"image,omitempty"` + MatchingKey *string `tfsdk:"matching_key" json:"matchingKey,omitempty"` + TargetPodSelector *string `tfsdk:"target_pod_selector" json:"targetPodSelector,omitempty"` + } `tfsdk:"exec" json:"exec,omitempty"` + PreCondition *string `tfsdk:"pre_condition" json:"preCondition,omitempty"` + RetryPolicy *struct { + MaxRetries *int64 `tfsdk:"max_retries" json:"maxRetries,omitempty"` + RetryInterval *int64 `tfsdk:"retry_interval" json:"retryInterval,omitempty"` + } `tfsdk:"retry_policy" json:"retryPolicy,omitempty"` + TimeoutSeconds *int64 `tfsdk:"timeout_seconds" json:"timeoutSeconds,omitempty"` + } `tfsdk:"member_leave" json:"memberLeave,omitempty"` + PostProvision *struct { + Exec *struct { + Args *[]string `tfsdk:"args" json:"args,omitempty"` + Command *[]string `tfsdk:"command" json:"command,omitempty"` + Container *string `tfsdk:"container" json:"container,omitempty"` + Env *[]struct { + Name *string `tfsdk:"name" json:"name,omitempty"` + Value *string `tfsdk:"value" json:"value,omitempty"` + ValueFrom *struct { + ConfigMapKeyRef *struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Optional *bool `tfsdk:"optional" json:"optional,omitempty"` + } `tfsdk:"config_map_key_ref" json:"configMapKeyRef,omitempty"` + FieldRef *struct { + ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"` + FieldPath *string `tfsdk:"field_path" json:"fieldPath,omitempty"` + } `tfsdk:"field_ref" json:"fieldRef,omitempty"` + ResourceFieldRef *struct { + ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"` + Divisor *string `tfsdk:"divisor" json:"divisor,omitempty"` + Resource *string `tfsdk:"resource" json:"resource,omitempty"` + } `tfsdk:"resource_field_ref" json:"resourceFieldRef,omitempty"` + SecretKeyRef *struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Optional *bool `tfsdk:"optional" json:"optional,omitempty"` + } `tfsdk:"secret_key_ref" json:"secretKeyRef,omitempty"` + } `tfsdk:"value_from" json:"valueFrom,omitempty"` + } `tfsdk:"env" json:"env,omitempty"` + Image *string `tfsdk:"image" json:"image,omitempty"` + MatchingKey *string `tfsdk:"matching_key" json:"matchingKey,omitempty"` + TargetPodSelector *string `tfsdk:"target_pod_selector" json:"targetPodSelector,omitempty"` + } `tfsdk:"exec" json:"exec,omitempty"` + PreCondition *string `tfsdk:"pre_condition" json:"preCondition,omitempty"` + RetryPolicy *struct { + MaxRetries *int64 `tfsdk:"max_retries" json:"maxRetries,omitempty"` + RetryInterval *int64 `tfsdk:"retry_interval" json:"retryInterval,omitempty"` + } `tfsdk:"retry_policy" json:"retryPolicy,omitempty"` + TimeoutSeconds *int64 `tfsdk:"timeout_seconds" json:"timeoutSeconds,omitempty"` + } `tfsdk:"post_provision" json:"postProvision,omitempty"` + PreTerminate *struct { + Exec *struct { + Args *[]string `tfsdk:"args" json:"args,omitempty"` + Command *[]string `tfsdk:"command" json:"command,omitempty"` + Container *string `tfsdk:"container" json:"container,omitempty"` + Env *[]struct { + Name *string `tfsdk:"name" json:"name,omitempty"` + Value *string `tfsdk:"value" json:"value,omitempty"` + ValueFrom *struct { + ConfigMapKeyRef *struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Optional *bool `tfsdk:"optional" json:"optional,omitempty"` + } `tfsdk:"config_map_key_ref" json:"configMapKeyRef,omitempty"` + FieldRef *struct { + ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"` + FieldPath *string `tfsdk:"field_path" json:"fieldPath,omitempty"` + } `tfsdk:"field_ref" json:"fieldRef,omitempty"` + ResourceFieldRef *struct { + ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"` + Divisor *string `tfsdk:"divisor" json:"divisor,omitempty"` + Resource *string `tfsdk:"resource" json:"resource,omitempty"` + } `tfsdk:"resource_field_ref" json:"resourceFieldRef,omitempty"` + SecretKeyRef *struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Optional *bool `tfsdk:"optional" json:"optional,omitempty"` + } `tfsdk:"secret_key_ref" json:"secretKeyRef,omitempty"` + } `tfsdk:"value_from" json:"valueFrom,omitempty"` + } `tfsdk:"env" json:"env,omitempty"` + Image *string `tfsdk:"image" json:"image,omitempty"` + MatchingKey *string `tfsdk:"matching_key" json:"matchingKey,omitempty"` + TargetPodSelector *string `tfsdk:"target_pod_selector" json:"targetPodSelector,omitempty"` + } `tfsdk:"exec" json:"exec,omitempty"` + PreCondition *string `tfsdk:"pre_condition" json:"preCondition,omitempty"` + RetryPolicy *struct { + MaxRetries *int64 `tfsdk:"max_retries" json:"maxRetries,omitempty"` + RetryInterval *int64 `tfsdk:"retry_interval" json:"retryInterval,omitempty"` + } `tfsdk:"retry_policy" json:"retryPolicy,omitempty"` + TimeoutSeconds *int64 `tfsdk:"timeout_seconds" json:"timeoutSeconds,omitempty"` + } `tfsdk:"pre_terminate" json:"preTerminate,omitempty"` + Readonly *struct { + Exec *struct { + Args *[]string `tfsdk:"args" json:"args,omitempty"` + Command *[]string `tfsdk:"command" json:"command,omitempty"` + Container *string `tfsdk:"container" json:"container,omitempty"` + Env *[]struct { + Name *string `tfsdk:"name" json:"name,omitempty"` + Value *string `tfsdk:"value" json:"value,omitempty"` + ValueFrom *struct { + ConfigMapKeyRef *struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Optional *bool `tfsdk:"optional" json:"optional,omitempty"` + } `tfsdk:"config_map_key_ref" json:"configMapKeyRef,omitempty"` + FieldRef *struct { + ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"` + FieldPath *string `tfsdk:"field_path" json:"fieldPath,omitempty"` + } `tfsdk:"field_ref" json:"fieldRef,omitempty"` + ResourceFieldRef *struct { + ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"` + Divisor *string `tfsdk:"divisor" json:"divisor,omitempty"` + Resource *string `tfsdk:"resource" json:"resource,omitempty"` + } `tfsdk:"resource_field_ref" json:"resourceFieldRef,omitempty"` + SecretKeyRef *struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Optional *bool `tfsdk:"optional" json:"optional,omitempty"` + } `tfsdk:"secret_key_ref" json:"secretKeyRef,omitempty"` + } `tfsdk:"value_from" json:"valueFrom,omitempty"` + } `tfsdk:"env" json:"env,omitempty"` + Image *string `tfsdk:"image" json:"image,omitempty"` + MatchingKey *string `tfsdk:"matching_key" json:"matchingKey,omitempty"` + TargetPodSelector *string `tfsdk:"target_pod_selector" json:"targetPodSelector,omitempty"` + } `tfsdk:"exec" json:"exec,omitempty"` + PreCondition *string `tfsdk:"pre_condition" json:"preCondition,omitempty"` + RetryPolicy *struct { + MaxRetries *int64 `tfsdk:"max_retries" json:"maxRetries,omitempty"` + RetryInterval *int64 `tfsdk:"retry_interval" json:"retryInterval,omitempty"` + } `tfsdk:"retry_policy" json:"retryPolicy,omitempty"` + TimeoutSeconds *int64 `tfsdk:"timeout_seconds" json:"timeoutSeconds,omitempty"` + } `tfsdk:"readonly" json:"readonly,omitempty"` + Readwrite *struct { + Exec *struct { + Args *[]string `tfsdk:"args" json:"args,omitempty"` + Command *[]string `tfsdk:"command" json:"command,omitempty"` + Container *string `tfsdk:"container" json:"container,omitempty"` + Env *[]struct { + Name *string `tfsdk:"name" json:"name,omitempty"` + Value *string `tfsdk:"value" json:"value,omitempty"` + ValueFrom *struct { + ConfigMapKeyRef *struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Optional *bool `tfsdk:"optional" json:"optional,omitempty"` + } `tfsdk:"config_map_key_ref" json:"configMapKeyRef,omitempty"` + FieldRef *struct { + ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"` + FieldPath *string `tfsdk:"field_path" json:"fieldPath,omitempty"` + } `tfsdk:"field_ref" json:"fieldRef,omitempty"` + ResourceFieldRef *struct { + ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"` + Divisor *string `tfsdk:"divisor" json:"divisor,omitempty"` + Resource *string `tfsdk:"resource" json:"resource,omitempty"` + } `tfsdk:"resource_field_ref" json:"resourceFieldRef,omitempty"` + SecretKeyRef *struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Optional *bool `tfsdk:"optional" json:"optional,omitempty"` + } `tfsdk:"secret_key_ref" json:"secretKeyRef,omitempty"` + } `tfsdk:"value_from" json:"valueFrom,omitempty"` + } `tfsdk:"env" json:"env,omitempty"` + Image *string `tfsdk:"image" json:"image,omitempty"` + MatchingKey *string `tfsdk:"matching_key" json:"matchingKey,omitempty"` + TargetPodSelector *string `tfsdk:"target_pod_selector" json:"targetPodSelector,omitempty"` + } `tfsdk:"exec" json:"exec,omitempty"` + PreCondition *string `tfsdk:"pre_condition" json:"preCondition,omitempty"` + RetryPolicy *struct { + MaxRetries *int64 `tfsdk:"max_retries" json:"maxRetries,omitempty"` + RetryInterval *int64 `tfsdk:"retry_interval" json:"retryInterval,omitempty"` + } `tfsdk:"retry_policy" json:"retryPolicy,omitempty"` + TimeoutSeconds *int64 `tfsdk:"timeout_seconds" json:"timeoutSeconds,omitempty"` + } `tfsdk:"readwrite" json:"readwrite,omitempty"` + Reconfigure *struct { + Exec *struct { + Args *[]string `tfsdk:"args" json:"args,omitempty"` + Command *[]string `tfsdk:"command" json:"command,omitempty"` + Container *string `tfsdk:"container" json:"container,omitempty"` + Env *[]struct { + Name *string `tfsdk:"name" json:"name,omitempty"` + Value *string `tfsdk:"value" json:"value,omitempty"` + ValueFrom *struct { + ConfigMapKeyRef *struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Optional *bool `tfsdk:"optional" json:"optional,omitempty"` + } `tfsdk:"config_map_key_ref" json:"configMapKeyRef,omitempty"` + FieldRef *struct { + ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"` + FieldPath *string `tfsdk:"field_path" json:"fieldPath,omitempty"` + } `tfsdk:"field_ref" json:"fieldRef,omitempty"` + ResourceFieldRef *struct { + ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"` + Divisor *string `tfsdk:"divisor" json:"divisor,omitempty"` + Resource *string `tfsdk:"resource" json:"resource,omitempty"` + } `tfsdk:"resource_field_ref" json:"resourceFieldRef,omitempty"` + SecretKeyRef *struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Optional *bool `tfsdk:"optional" json:"optional,omitempty"` + } `tfsdk:"secret_key_ref" json:"secretKeyRef,omitempty"` + } `tfsdk:"value_from" json:"valueFrom,omitempty"` + } `tfsdk:"env" json:"env,omitempty"` + Image *string `tfsdk:"image" json:"image,omitempty"` + MatchingKey *string `tfsdk:"matching_key" json:"matchingKey,omitempty"` + TargetPodSelector *string `tfsdk:"target_pod_selector" json:"targetPodSelector,omitempty"` + } `tfsdk:"exec" json:"exec,omitempty"` + PreCondition *string `tfsdk:"pre_condition" json:"preCondition,omitempty"` + RetryPolicy *struct { + MaxRetries *int64 `tfsdk:"max_retries" json:"maxRetries,omitempty"` + RetryInterval *int64 `tfsdk:"retry_interval" json:"retryInterval,omitempty"` + } `tfsdk:"retry_policy" json:"retryPolicy,omitempty"` + TimeoutSeconds *int64 `tfsdk:"timeout_seconds" json:"timeoutSeconds,omitempty"` + } `tfsdk:"reconfigure" json:"reconfigure,omitempty"` + RoleProbe *struct { + Exec *struct { + Args *[]string `tfsdk:"args" json:"args,omitempty"` + Command *[]string `tfsdk:"command" json:"command,omitempty"` + Container *string `tfsdk:"container" json:"container,omitempty"` + Env *[]struct { + Name *string `tfsdk:"name" json:"name,omitempty"` + Value *string `tfsdk:"value" json:"value,omitempty"` + ValueFrom *struct { + ConfigMapKeyRef *struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Optional *bool `tfsdk:"optional" json:"optional,omitempty"` + } `tfsdk:"config_map_key_ref" json:"configMapKeyRef,omitempty"` + FieldRef *struct { + ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"` + FieldPath *string `tfsdk:"field_path" json:"fieldPath,omitempty"` + } `tfsdk:"field_ref" json:"fieldRef,omitempty"` + ResourceFieldRef *struct { + ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"` + Divisor *string `tfsdk:"divisor" json:"divisor,omitempty"` + Resource *string `tfsdk:"resource" json:"resource,omitempty"` + } `tfsdk:"resource_field_ref" json:"resourceFieldRef,omitempty"` + SecretKeyRef *struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Optional *bool `tfsdk:"optional" json:"optional,omitempty"` + } `tfsdk:"secret_key_ref" json:"secretKeyRef,omitempty"` + } `tfsdk:"value_from" json:"valueFrom,omitempty"` + } `tfsdk:"env" json:"env,omitempty"` + Image *string `tfsdk:"image" json:"image,omitempty"` + MatchingKey *string `tfsdk:"matching_key" json:"matchingKey,omitempty"` + TargetPodSelector *string `tfsdk:"target_pod_selector" json:"targetPodSelector,omitempty"` + } `tfsdk:"exec" json:"exec,omitempty"` + FailureThreshold *int64 `tfsdk:"failure_threshold" json:"failureThreshold,omitempty"` + InitialDelaySeconds *int64 `tfsdk:"initial_delay_seconds" json:"initialDelaySeconds,omitempty"` + PeriodSeconds *int64 `tfsdk:"period_seconds" json:"periodSeconds,omitempty"` + PreCondition *string `tfsdk:"pre_condition" json:"preCondition,omitempty"` + RetryPolicy *struct { + MaxRetries *int64 `tfsdk:"max_retries" json:"maxRetries,omitempty"` + RetryInterval *int64 `tfsdk:"retry_interval" json:"retryInterval,omitempty"` + } `tfsdk:"retry_policy" json:"retryPolicy,omitempty"` + SuccessThreshold *int64 `tfsdk:"success_threshold" json:"successThreshold,omitempty"` + TimeoutSeconds *int64 `tfsdk:"timeout_seconds" json:"timeoutSeconds,omitempty"` + } `tfsdk:"role_probe" json:"roleProbe,omitempty"` + Switchover *struct { + Exec *struct { + Args *[]string `tfsdk:"args" json:"args,omitempty"` + Command *[]string `tfsdk:"command" json:"command,omitempty"` + Container *string `tfsdk:"container" json:"container,omitempty"` + Env *[]struct { + Name *string `tfsdk:"name" json:"name,omitempty"` + Value *string `tfsdk:"value" json:"value,omitempty"` + ValueFrom *struct { + ConfigMapKeyRef *struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Optional *bool `tfsdk:"optional" json:"optional,omitempty"` + } `tfsdk:"config_map_key_ref" json:"configMapKeyRef,omitempty"` + FieldRef *struct { + ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"` + FieldPath *string `tfsdk:"field_path" json:"fieldPath,omitempty"` + } `tfsdk:"field_ref" json:"fieldRef,omitempty"` + ResourceFieldRef *struct { + ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"` + Divisor *string `tfsdk:"divisor" json:"divisor,omitempty"` + Resource *string `tfsdk:"resource" json:"resource,omitempty"` + } `tfsdk:"resource_field_ref" json:"resourceFieldRef,omitempty"` + SecretKeyRef *struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Optional *bool `tfsdk:"optional" json:"optional,omitempty"` + } `tfsdk:"secret_key_ref" json:"secretKeyRef,omitempty"` + } `tfsdk:"value_from" json:"valueFrom,omitempty"` + } `tfsdk:"env" json:"env,omitempty"` + Image *string `tfsdk:"image" json:"image,omitempty"` + MatchingKey *string `tfsdk:"matching_key" json:"matchingKey,omitempty"` + TargetPodSelector *string `tfsdk:"target_pod_selector" json:"targetPodSelector,omitempty"` + } `tfsdk:"exec" json:"exec,omitempty"` + PreCondition *string `tfsdk:"pre_condition" json:"preCondition,omitempty"` + RetryPolicy *struct { + MaxRetries *int64 `tfsdk:"max_retries" json:"maxRetries,omitempty"` + RetryInterval *int64 `tfsdk:"retry_interval" json:"retryInterval,omitempty"` + } `tfsdk:"retry_policy" json:"retryPolicy,omitempty"` + TimeoutSeconds *int64 `tfsdk:"timeout_seconds" json:"timeoutSeconds,omitempty"` } `tfsdk:"switchover" json:"switchover,omitempty"` } `tfsdk:"lifecycle_actions" json:"lifecycleActions,omitempty"` LogConfigs *[]struct { @@ -2154,535 +2077,1062 @@ type AppsKubeblocksIoComponentDefinitionV1Alpha1ManifestData struct { } `tfsdk:"spec" json:"spec,omitempty"` } -func (r *AppsKubeblocksIoComponentDefinitionV1Alpha1Manifest) Metadata(_ context.Context, request datasource.MetadataRequest, response *datasource.MetadataResponse) { - response.TypeName = request.ProviderTypeName + "_apps_kubeblocks_io_component_definition_v1alpha1_manifest" -} +func (r *AppsKubeblocksIoComponentDefinitionV1Alpha1Manifest) Metadata(_ context.Context, request datasource.MetadataRequest, response *datasource.MetadataResponse) { + response.TypeName = request.ProviderTypeName + "_apps_kubeblocks_io_component_definition_v1alpha1_manifest" +} + +func (r *AppsKubeblocksIoComponentDefinitionV1Alpha1Manifest) Schema(_ context.Context, _ datasource.SchemaRequest, response *datasource.SchemaResponse) { + response.Schema = schema.Schema{ + Description: "ComponentDefinition serves as a reusable blueprint for creating Components,encapsulating essential static settings such as Component description,Pod templates, configuration file templates, scripts, parameter lists,injected environment variables and their sources, and event handlers.ComponentDefinition works in conjunction with dynamic settings from the ClusterComponentSpec,to instantiate Components during Cluster creation.Key aspects that can be defined in a ComponentDefinition include:- PodSpec template: Specifies the PodSpec template used by the Component.- Configuration templates: Specify the configuration file templates required by the Component.- Scripts: Provide the necessary scripts for Component management and operations.- Storage volumes: Specify the storage volumes and their configurations for the Component.- Pod roles: Outlines various roles of Pods within the Component along with their capabilities.- Exposed Kubernetes Services: Specify the Services that need to be exposed by the Component.- System accounts: Define the system accounts required for the Component.- Monitoring and logging: Configure the exporter and logging settings for the Component.ComponentDefinitions also enable defining reactive behaviors of the Component in response to events,such as member join/leave, Component addition/deletion, role changes, switch over, and more.This allows for automatic event handling, thus encapsulating complex behaviors within the Component.Referencing a ComponentDefinition when creating individual Components ensures inheritance of predefined configurations,promoting reusability and consistency across different deployments and cluster topologies.", + MarkdownDescription: "ComponentDefinition serves as a reusable blueprint for creating Components,encapsulating essential static settings such as Component description,Pod templates, configuration file templates, scripts, parameter lists,injected environment variables and their sources, and event handlers.ComponentDefinition works in conjunction with dynamic settings from the ClusterComponentSpec,to instantiate Components during Cluster creation.Key aspects that can be defined in a ComponentDefinition include:- PodSpec template: Specifies the PodSpec template used by the Component.- Configuration templates: Specify the configuration file templates required by the Component.- Scripts: Provide the necessary scripts for Component management and operations.- Storage volumes: Specify the storage volumes and their configurations for the Component.- Pod roles: Outlines various roles of Pods within the Component along with their capabilities.- Exposed Kubernetes Services: Specify the Services that need to be exposed by the Component.- System accounts: Define the system accounts required for the Component.- Monitoring and logging: Configure the exporter and logging settings for the Component.ComponentDefinitions also enable defining reactive behaviors of the Component in response to events,such as member join/leave, Component addition/deletion, role changes, switch over, and more.This allows for automatic event handling, thus encapsulating complex behaviors within the Component.Referencing a ComponentDefinition when creating individual Components ensures inheritance of predefined configurations,promoting reusability and consistency across different deployments and cluster topologies.", + Attributes: map[string]schema.Attribute{ + "yaml": schema.StringAttribute{ + Description: "The generated manifest in YAML format.", + MarkdownDescription: "The generated manifest in YAML format.", + Required: false, + Optional: false, + Computed: true, + }, + + "metadata": schema.SingleNestedAttribute{ + Description: "Data that helps uniquely identify this object. See https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata for more details.", + MarkdownDescription: "Data that helps uniquely identify this object. See https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata for more details.", + Required: true, + Optional: false, + Computed: false, + Attributes: map[string]schema.Attribute{ + "name": schema.StringAttribute{ + Description: "Unique identifier for this object. See https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names for more details.", + MarkdownDescription: "Unique identifier for this object. See https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names for more details.", + Required: true, + Optional: false, + Computed: false, + Validators: []validator.String{ + validators.NameValidator(), + stringvalidator.LengthAtLeast(1), + }, + }, + + "labels": schema.MapAttribute{ + Description: "Keys and values that can be used to organize and categorize objects. See https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ for more details.", + MarkdownDescription: "Keys and values that can be used to organize and categorize objects. See https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ for more details.", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + Validators: []validator.Map{ + validators.LabelValidator(), + }, + }, + "annotations": schema.MapAttribute{ + Description: "Keys and values that can be used by external tooling to store and retrieve arbitrary metadata about this object. See https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ for more details.", + MarkdownDescription: "Keys and values that can be used by external tooling to store and retrieve arbitrary metadata about this object. See https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ for more details.", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + Validators: []validator.Map{ + validators.AnnotationValidator(), + }, + }, + }, + }, + + "spec": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "annotations": schema.MapAttribute{ + Description: "Specifies static annotations that will be patched to all Kubernetes resources created for the Component.Note: If an annotation key in the 'annotations' field conflicts with any system annotationsor user-specified annotations, it will be silently ignored to avoid overriding higher-priority annotations.This field is immutable.", + MarkdownDescription: "Specifies static annotations that will be patched to all Kubernetes resources created for the Component.Note: If an annotation key in the 'annotations' field conflicts with any system annotationsor user-specified annotations, it will be silently ignored to avoid overriding higher-priority annotations.This field is immutable.", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "configs": schema.ListNestedAttribute{ + Description: "Specifies the configuration file templates and volume mount parameters used by the Component.It also includes descriptions of the parameters in the ConfigMaps, such as value range limitations.This field specifies a list of templates that will be rendered into Component containers' configuration files.Each template is represented as a ConfigMap and may contain multiple configuration files,with each file being a key in the ConfigMap.The rendered configuration files will be mounted into the Component's containers according to the specified volume mount parameters.This field is immutable.", + MarkdownDescription: "Specifies the configuration file templates and volume mount parameters used by the Component.It also includes descriptions of the parameters in the ConfigMaps, such as value range limitations.This field specifies a list of templates that will be rendered into Component containers' configuration files.Each template is represented as a ConfigMap and may contain multiple configuration files,with each file being a key in the ConfigMap.The rendered configuration files will be mounted into the Component's containers according to the specified volume mount parameters.This field is immutable.", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "as_env_from": schema.ListAttribute{ + Description: "Specifies the containers to inject the ConfigMap parameters as environment variables.This is useful when application images accept parameters through environment variables andgenerate the final configuration file in the startup script based on these variables.This field allows users to specify a list of container names, and KubeBlocks will inject the environmentvariables converted from the ConfigMap into these designated containers. This provides a flexible way topass the configuration items from the ConfigMap to the container without modifying the image.Deprecated: 'asEnvFrom' has been deprecated since 0.9.0 and will be removed in 0.10.0.Use 'injectEnvTo' instead.", + MarkdownDescription: "Specifies the containers to inject the ConfigMap parameters as environment variables.This is useful when application images accept parameters through environment variables andgenerate the final configuration file in the startup script based on these variables.This field allows users to specify a list of container names, and KubeBlocks will inject the environmentvariables converted from the ConfigMap into these designated containers. This provides a flexible way topass the configuration items from the ConfigMap to the container without modifying the image.Deprecated: 'asEnvFrom' has been deprecated since 0.9.0 and will be removed in 0.10.0.Use 'injectEnvTo' instead.", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "constraint_ref": schema.StringAttribute{ + Description: "Specifies the name of the referenced configuration constraints object.", + MarkdownDescription: "Specifies the name of the referenced configuration constraints object.", + Required: false, + Optional: true, + Computed: false, + Validators: []validator.String{ + stringvalidator.LengthAtMost(63), + stringvalidator.RegexMatches(regexp.MustCompile(`^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$`), ""), + }, + }, + + "default_mode": schema.Int64Attribute{ + Description: "The operator attempts to set default file permissions for scripts (0555) and configurations (0444).However, certain database engines may require different file permissions.You can specify the desired file permissions here.Must be specified as an octal value between 0000 and 0777 (inclusive),or as a decimal value between 0 and 511 (inclusive).YAML supports both octal and decimal values for file permissions.Please note that this setting only affects the permissions of the files themselves.Directories within the specified path are not impacted by this setting.It's important to be aware that this setting might conflict with other optionsthat influence the file mode, such as fsGroup.In such cases, the resulting file mode may have additional bits set.Refers to documents of k8s.ConfigMapVolumeSource.defaultMode for more information.", + MarkdownDescription: "The operator attempts to set default file permissions for scripts (0555) and configurations (0444).However, certain database engines may require different file permissions.You can specify the desired file permissions here.Must be specified as an octal value between 0000 and 0777 (inclusive),or as a decimal value between 0 and 511 (inclusive).YAML supports both octal and decimal values for file permissions.Please note that this setting only affects the permissions of the files themselves.Directories within the specified path are not impacted by this setting.It's important to be aware that this setting might conflict with other optionsthat influence the file mode, such as fsGroup.In such cases, the resulting file mode may have additional bits set.Refers to documents of k8s.ConfigMapVolumeSource.defaultMode for more information.", + Required: false, + Optional: true, + Computed: false, + }, + + "inject_env_to": schema.ListAttribute{ + Description: "Specifies the containers to inject the ConfigMap parameters as environment variables.This is useful when application images accept parameters through environment variables andgenerate the final configuration file in the startup script based on these variables.This field allows users to specify a list of container names, and KubeBlocks will inject the environmentvariables converted from the ConfigMap into these designated containers. This provides a flexible way topass the configuration items from the ConfigMap to the container without modifying the image.", + MarkdownDescription: "Specifies the containers to inject the ConfigMap parameters as environment variables.This is useful when application images accept parameters through environment variables andgenerate the final configuration file in the startup script based on these variables.This field allows users to specify a list of container names, and KubeBlocks will inject the environmentvariables converted from the ConfigMap into these designated containers. This provides a flexible way topass the configuration items from the ConfigMap to the container without modifying the image.", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "keys": schema.ListAttribute{ + Description: "Specifies the configuration files within the ConfigMap that support dynamic updates.A configuration template (provided in the form of a ConfigMap) may contain templates for multipleconfiguration files.Each configuration file corresponds to a key in the ConfigMap.Some of these configuration files may support dynamic modification and reloading without requiringa pod restart.If empty or omitted, all configuration files in the ConfigMap are assumed to support dynamic updates,and ConfigConstraint applies to all keys.", + MarkdownDescription: "Specifies the configuration files within the ConfigMap that support dynamic updates.A configuration template (provided in the form of a ConfigMap) may contain templates for multipleconfiguration files.Each configuration file corresponds to a key in the ConfigMap.Some of these configuration files may support dynamic modification and reloading without requiringa pod restart.If empty or omitted, all configuration files in the ConfigMap are assumed to support dynamic updates,and ConfigConstraint applies to all keys.", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "legacy_rendered_config_spec": schema.SingleNestedAttribute{ + Description: "Specifies the secondary rendered config spec for pod-specific customization.The template is rendered inside the pod (by the 'config-manager' sidecar container) and merged with the maintemplate's render result to generate the final configuration file.This field is intended to handle scenarios where different pods within the same Component havevarying configurations. It allows for pod-specific customization of the configuration.Note: This field will be deprecated in future versions, and the functionality will be moved to'cluster.spec.componentSpecs[*].instances[*]'.", + MarkdownDescription: "Specifies the secondary rendered config spec for pod-specific customization.The template is rendered inside the pod (by the 'config-manager' sidecar container) and merged with the maintemplate's render result to generate the final configuration file.This field is intended to handle scenarios where different pods within the same Component havevarying configurations. It allows for pod-specific customization of the configuration.Note: This field will be deprecated in future versions, and the functionality will be moved to'cluster.spec.componentSpecs[*].instances[*]'.", + Attributes: map[string]schema.Attribute{ + "namespace": schema.StringAttribute{ + Description: "Specifies the namespace of the referenced configuration template ConfigMap object.An empty namespace is equivalent to the 'default' namespace.", + MarkdownDescription: "Specifies the namespace of the referenced configuration template ConfigMap object.An empty namespace is equivalent to the 'default' namespace.", + Required: false, + Optional: true, + Computed: false, + Validators: []validator.String{ + stringvalidator.RegexMatches(regexp.MustCompile(`^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$`), ""), + }, + }, + + "policy": schema.StringAttribute{ + Description: "Defines the strategy for merging externally imported templates into component templates.", + MarkdownDescription: "Defines the strategy for merging externally imported templates into component templates.", + Required: false, + Optional: true, + Computed: false, + Validators: []validator.String{ + stringvalidator.OneOf("patch", "replace", "none"), + }, + }, + + "template_ref": schema.StringAttribute{ + Description: "Specifies the name of the referenced configuration template ConfigMap object.", + MarkdownDescription: "Specifies the name of the referenced configuration template ConfigMap object.", + Required: true, + Optional: false, + Computed: false, + Validators: []validator.String{ + stringvalidator.RegexMatches(regexp.MustCompile(`^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$`), ""), + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "name": schema.StringAttribute{ + Description: "Specifies the name of the configuration template.", + MarkdownDescription: "Specifies the name of the configuration template.", + Required: true, + Optional: false, + Computed: false, + Validators: []validator.String{ + stringvalidator.LengthAtMost(63), + stringvalidator.RegexMatches(regexp.MustCompile(`^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$`), ""), + }, + }, + + "namespace": schema.StringAttribute{ + Description: "Specifies the namespace of the referenced configuration template ConfigMap object.An empty namespace is equivalent to the 'default' namespace.", + MarkdownDescription: "Specifies the namespace of the referenced configuration template ConfigMap object.An empty namespace is equivalent to the 'default' namespace.", + Required: false, + Optional: true, + Computed: false, + Validators: []validator.String{ + stringvalidator.LengthAtMost(63), + stringvalidator.RegexMatches(regexp.MustCompile(`^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$`), ""), + }, + }, + + "re_render_resource_types": schema.ListAttribute{ + Description: "Specifies whether the configuration needs to be re-rendered after v-scale or h-scale operations to reflect changes.In some scenarios, the configuration may need to be updated to reflect the changes in resource allocationor cluster topology. Examples:- Redis: adjust maxmemory after v-scale operation.- MySQL: increase max connections after v-scale operation.- Zookeeper: update zoo.cfg with new node addresses after h-scale operation.", + MarkdownDescription: "Specifies whether the configuration needs to be re-rendered after v-scale or h-scale operations to reflect changes.In some scenarios, the configuration may need to be updated to reflect the changes in resource allocationor cluster topology. Examples:- Redis: adjust maxmemory after v-scale operation.- MySQL: increase max connections after v-scale operation.- Zookeeper: update zoo.cfg with new node addresses after h-scale operation.", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "template_ref": schema.StringAttribute{ + Description: "Specifies the name of the referenced configuration template ConfigMap object.", + MarkdownDescription: "Specifies the name of the referenced configuration template ConfigMap object.", + Required: false, + Optional: true, + Computed: false, + Validators: []validator.String{ + stringvalidator.LengthAtMost(63), + stringvalidator.RegexMatches(regexp.MustCompile(`^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$`), ""), + }, + }, + + "volume_name": schema.StringAttribute{ + Description: "Refers to the volume name of PodTemplate. The configuration file produced through the configurationtemplate will be mounted to the corresponding volume. Must be a DNS_LABEL name.The volume name must be defined in podSpec.containers[*].volumeMounts.", + MarkdownDescription: "Refers to the volume name of PodTemplate. The configuration file produced through the configurationtemplate will be mounted to the corresponding volume. Must be a DNS_LABEL name.The volume name must be defined in podSpec.containers[*].volumeMounts.", + Required: true, + Optional: false, + Computed: false, + Validators: []validator.String{ + stringvalidator.LengthAtMost(63), + stringvalidator.RegexMatches(regexp.MustCompile(`^[a-z]([a-z0-9\-]*[a-z0-9])?$`), ""), + }, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "description": schema.StringAttribute{ + Description: "Provides a brief and concise explanation of the Component's purpose, functionality, and any relevant details.It serves as a quick reference for users to understand the Component's role and characteristics.", + MarkdownDescription: "Provides a brief and concise explanation of the Component's purpose, functionality, and any relevant details.It serves as a quick reference for users to understand the Component's role and characteristics.", + Required: false, + Optional: true, + Computed: false, + Validators: []validator.String{ + stringvalidator.LengthAtMost(256), + }, + }, + + "exporter": schema.SingleNestedAttribute{ + Description: "Defines the built-in metrics exporter container.", + MarkdownDescription: "Defines the built-in metrics exporter container.", + Attributes: map[string]schema.Attribute{ + "container_name": schema.StringAttribute{ + Description: "Specifies the name of the built-in metrics exporter container.", + MarkdownDescription: "Specifies the name of the built-in metrics exporter container.", + Required: false, + Optional: true, + Computed: false, + }, + + "scrape_path": schema.StringAttribute{ + Description: "Specifies the http/https url path to scrape for metrics.If empty, Prometheus uses the default value (e.g. '/metrics').", + MarkdownDescription: "Specifies the http/https url path to scrape for metrics.If empty, Prometheus uses the default value (e.g. '/metrics').", + Required: false, + Optional: true, + Computed: false, + }, + + "scrape_port": schema.StringAttribute{ + Description: "Specifies the port name to scrape for metrics.", + MarkdownDescription: "Specifies the port name to scrape for metrics.", + Required: false, + Optional: true, + Computed: false, + }, + + "scrape_scheme": schema.StringAttribute{ + Description: "Specifies the schema to use for scraping.'http' and 'https' are the expected values unless you rewrite the '__scheme__' label via relabeling.If empty, Prometheus uses the default value 'http'.", + MarkdownDescription: "Specifies the schema to use for scraping.'http' and 'https' are the expected values unless you rewrite the '__scheme__' label via relabeling.If empty, Prometheus uses the default value 'http'.", + Required: false, + Optional: true, + Computed: false, + Validators: []validator.String{ + stringvalidator.OneOf("http", "https"), + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "host_network": schema.SingleNestedAttribute{ + Description: "Specifies the host network configuration for the Component.When 'hostNetwork' option is enabled, the Pods share the host's network namespace and can directly accessthe host's network interfaces.This means that if multiple Pods need to use the same port, they cannot run on the same host simultaneouslydue to port conflicts.The DNSPolicy field in the Pod spec determines how containers within the Pod perform DNS resolution.When using hostNetwork, the operator will set the DNSPolicy to 'ClusterFirstWithHostNet'.With this policy, DNS queries will first go through the K8s cluster's DNS service.If the query fails, it will fall back to the host's DNS settings.If set, the DNS policy will be automatically set to 'ClusterFirstWithHostNet'.This field is immutable.", + MarkdownDescription: "Specifies the host network configuration for the Component.When 'hostNetwork' option is enabled, the Pods share the host's network namespace and can directly accessthe host's network interfaces.This means that if multiple Pods need to use the same port, they cannot run on the same host simultaneouslydue to port conflicts.The DNSPolicy field in the Pod spec determines how containers within the Pod perform DNS resolution.When using hostNetwork, the operator will set the DNSPolicy to 'ClusterFirstWithHostNet'.With this policy, DNS queries will first go through the K8s cluster's DNS service.If the query fails, it will fall back to the host's DNS settings.If set, the DNS policy will be automatically set to 'ClusterFirstWithHostNet'.This field is immutable.", + Attributes: map[string]schema.Attribute{ + "container_ports": schema.ListNestedAttribute{ + Description: "The list of container ports that are required by the component.", + MarkdownDescription: "The list of container ports that are required by the component.", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "container": schema.StringAttribute{ + Description: "Container specifies the target container within the Pod.", + MarkdownDescription: "Container specifies the target container within the Pod.", + Required: true, + Optional: false, + Computed: false, + }, + + "ports": schema.ListAttribute{ + Description: "Ports are named container ports within the specified container.These container ports must be defined in the container for proper port allocation.", + MarkdownDescription: "Ports are named container ports within the specified container.These container ports must be defined in the container for proper port allocation.", + ElementType: types.StringType, + Required: true, + Optional: false, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "labels": schema.MapAttribute{ + Description: "Specifies static labels that will be patched to all Kubernetes resources created for the Component.Note: If a label key in the 'labels' field conflicts with any system labels or user-specified labels,it will be silently ignored to avoid overriding higher-priority labels.This field is immutable.", + MarkdownDescription: "Specifies static labels that will be patched to all Kubernetes resources created for the Component.Note: If a label key in the 'labels' field conflicts with any system labels or user-specified labels,it will be silently ignored to avoid overriding higher-priority labels.This field is immutable.", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "lifecycle_actions": schema.SingleNestedAttribute{ + Description: "Defines a set of hooks and procedures that customize the behavior of a Component throughout its lifecycle.Actions are triggered at specific lifecycle stages: - 'postProvision': Defines the hook to be executed after the creation of a Component, with 'preCondition' specifying when the action should be fired relative to the Component's lifecycle stages: 'Immediately', 'RuntimeReady', 'ComponentReady', and 'ClusterReady'. - 'preTerminate': Defines the hook to be executed before terminating a Component. - 'roleProbe': Defines the procedure which is invoked regularly to assess the role of replicas. - 'switchover': Defines the procedure for a controlled transition of leadership from the current leader to a new replica. This approach aims to minimize downtime and maintain availability in systems with a leader-follower topology, such as before planned maintenance or upgrades on the current leader node. - 'memberJoin': Defines the procedure to add a new replica to the replication group. - 'memberLeave': Defines the method to remove a replica from the replication group. - 'readOnly': Defines the procedure to switch a replica into the read-only state. - 'readWrite': transition a replica from the read-only state back to the read-write state. - 'dataDump': Defines the procedure to export the data from a replica. - 'dataLoad': Defines the procedure to import data into a replica. - 'reconfigure': Defines the procedure that update a replica with new configuration file. - 'accountProvision': Defines the procedure to generate a new database account.This field is immutable.", + MarkdownDescription: "Defines a set of hooks and procedures that customize the behavior of a Component throughout its lifecycle.Actions are triggered at specific lifecycle stages: - 'postProvision': Defines the hook to be executed after the creation of a Component, with 'preCondition' specifying when the action should be fired relative to the Component's lifecycle stages: 'Immediately', 'RuntimeReady', 'ComponentReady', and 'ClusterReady'. - 'preTerminate': Defines the hook to be executed before terminating a Component. - 'roleProbe': Defines the procedure which is invoked regularly to assess the role of replicas. - 'switchover': Defines the procedure for a controlled transition of leadership from the current leader to a new replica. This approach aims to minimize downtime and maintain availability in systems with a leader-follower topology, such as before planned maintenance or upgrades on the current leader node. - 'memberJoin': Defines the procedure to add a new replica to the replication group. - 'memberLeave': Defines the method to remove a replica from the replication group. - 'readOnly': Defines the procedure to switch a replica into the read-only state. - 'readWrite': transition a replica from the read-only state back to the read-write state. - 'dataDump': Defines the procedure to export the data from a replica. - 'dataLoad': Defines the procedure to import data into a replica. - 'reconfigure': Defines the procedure that update a replica with new configuration file. - 'accountProvision': Defines the procedure to generate a new database account.This field is immutable.", + Attributes: map[string]schema.Attribute{ + "account_provision": schema.SingleNestedAttribute{ + Description: "Defines the procedure to generate a new database account.Use Case:This action is designed to create system accounts that are utilized for replication, monitoring, backup,and other administrative tasks.Note: This field is immutable once it has been set.", + MarkdownDescription: "Defines the procedure to generate a new database account.Use Case:This action is designed to create system accounts that are utilized for replication, monitoring, backup,and other administrative tasks.Note: This field is immutable once it has been set.", + Attributes: map[string]schema.Attribute{ + "exec": schema.SingleNestedAttribute{ + Description: "Defines the command to run.This field cannot be updated.", + MarkdownDescription: "Defines the command to run.This field cannot be updated.", + Attributes: map[string]schema.Attribute{ + "args": schema.ListAttribute{ + Description: "Args represents the arguments that are passed to the 'command' for execution.", + MarkdownDescription: "Args represents the arguments that are passed to the 'command' for execution.", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "command": schema.ListAttribute{ + Description: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", + MarkdownDescription: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "container": schema.StringAttribute{ + Description: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + MarkdownDescription: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + Required: false, + Optional: true, + Computed: false, + }, + + "env": schema.ListNestedAttribute{ + Description: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", + MarkdownDescription: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "name": schema.StringAttribute{ + Description: "Name of the environment variable. Must be a C_IDENTIFIER.", + MarkdownDescription: "Name of the environment variable. Must be a C_IDENTIFIER.", + Required: true, + Optional: false, + Computed: false, + }, + + "value": schema.StringAttribute{ + Description: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", + MarkdownDescription: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", + Required: false, + Optional: true, + Computed: false, + }, + + "value_from": schema.SingleNestedAttribute{ + Description: "Source for the environment variable's value. Cannot be used if value is not empty.", + MarkdownDescription: "Source for the environment variable's value. Cannot be used if value is not empty.", + Attributes: map[string]schema.Attribute{ + "config_map_key_ref": schema.SingleNestedAttribute{ + Description: "Selects a key of a ConfigMap.", + MarkdownDescription: "Selects a key of a ConfigMap.", + Attributes: map[string]schema.Attribute{ + "key": schema.StringAttribute{ + Description: "The key to select.", + MarkdownDescription: "The key to select.", + Required: true, + Optional: false, + Computed: false, + }, + + "name": schema.StringAttribute{ + Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Required: false, + Optional: true, + Computed: false, + }, + + "optional": schema.BoolAttribute{ + Description: "Specify whether the ConfigMap or its key must be defined", + MarkdownDescription: "Specify whether the ConfigMap or its key must be defined", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "field_ref": schema.SingleNestedAttribute{ + Description: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", + MarkdownDescription: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", + Attributes: map[string]schema.Attribute{ + "api_version": schema.StringAttribute{ + Description: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", + MarkdownDescription: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", + Required: false, + Optional: true, + Computed: false, + }, + + "field_path": schema.StringAttribute{ + Description: "Path of the field to select in the specified API version.", + MarkdownDescription: "Path of the field to select in the specified API version.", + Required: true, + Optional: false, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "resource_field_ref": schema.SingleNestedAttribute{ + Description: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", + MarkdownDescription: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", + Attributes: map[string]schema.Attribute{ + "container_name": schema.StringAttribute{ + Description: "Container name: required for volumes, optional for env vars", + MarkdownDescription: "Container name: required for volumes, optional for env vars", + Required: false, + Optional: true, + Computed: false, + }, + + "divisor": schema.StringAttribute{ + Description: "Specifies the output format of the exposed resources, defaults to '1'", + MarkdownDescription: "Specifies the output format of the exposed resources, defaults to '1'", + Required: false, + Optional: true, + Computed: false, + }, + + "resource": schema.StringAttribute{ + Description: "Required: resource to select", + MarkdownDescription: "Required: resource to select", + Required: true, + Optional: false, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "secret_key_ref": schema.SingleNestedAttribute{ + Description: "Selects a key of a secret in the pod's namespace", + MarkdownDescription: "Selects a key of a secret in the pod's namespace", + Attributes: map[string]schema.Attribute{ + "key": schema.StringAttribute{ + Description: "The key of the secret to select from. Must be a valid secret key.", + MarkdownDescription: "The key of the secret to select from. Must be a valid secret key.", + Required: true, + Optional: false, + Computed: false, + }, + + "name": schema.StringAttribute{ + Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Required: false, + Optional: true, + Computed: false, + }, + + "optional": schema.BoolAttribute{ + Description: "Specify whether the Secret or its key must be defined", + MarkdownDescription: "Specify whether the Secret or its key must be defined", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "image": schema.StringAttribute{ + Description: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", + MarkdownDescription: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", + Required: false, + Optional: true, + Computed: false, + }, + + "matching_key": schema.StringAttribute{ + Description: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + MarkdownDescription: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + Required: false, + Optional: true, + Computed: false, + }, + + "target_pod_selector": schema.StringAttribute{ + Description: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + MarkdownDescription: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + Required: false, + Optional: true, + Computed: false, + Validators: []validator.String{ + stringvalidator.OneOf("Any", "All", "Role", "Ordinal"), + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "pre_condition": schema.StringAttribute{ + Description: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", + MarkdownDescription: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", + Required: false, + Optional: true, + Computed: false, + }, + + "retry_policy": schema.SingleNestedAttribute{ + Description: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", + MarkdownDescription: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", + Attributes: map[string]schema.Attribute{ + "max_retries": schema.Int64Attribute{ + Description: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", + MarkdownDescription: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", + Required: false, + Optional: true, + Computed: false, + }, + + "retry_interval": schema.Int64Attribute{ + Description: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", + MarkdownDescription: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "timeout_seconds": schema.Int64Attribute{ + Description: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", + MarkdownDescription: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, -func (r *AppsKubeblocksIoComponentDefinitionV1Alpha1Manifest) Schema(_ context.Context, _ datasource.SchemaRequest, response *datasource.SchemaResponse) { - response.Schema = schema.Schema{ - Description: "ComponentDefinition serves as a reusable blueprint for creating Components,encapsulating essential static settings such as Component description,Pod templates, configuration file templates, scripts, parameter lists,injected environment variables and their sources, and event handlers.ComponentDefinition works in conjunction with dynamic settings from the ClusterComponentSpec,to instantiate Components during Cluster creation.Key aspects that can be defined in a ComponentDefinition include:- PodSpec template: Specifies the PodSpec template used by the Component.- Configuration templates: Specify the configuration file templates required by the Component.- Scripts: Provide the necessary scripts for Component management and operations.- Storage volumes: Specify the storage volumes and their configurations for the Component.- Pod roles: Outlines various roles of Pods within the Component along with their capabilities.- Exposed Kubernetes Services: Specify the Services that need to be exposed by the Component.- System accounts: Define the system accounts required for the Component.- Monitoring and logging: Configure the exporter and logging settings for the Component.ComponentDefinitions also enable defining reactive behaviors of the Component in response to events,such as member join/leave, Component addition/deletion, role changes, switch over, and more.This allows for automatic event handling, thus encapsulating complex behaviors within the Component.Referencing a ComponentDefinition when creating individual Components ensures inheritance of predefined configurations,promoting reusability and consistency across different deployments and cluster topologies.", - MarkdownDescription: "ComponentDefinition serves as a reusable blueprint for creating Components,encapsulating essential static settings such as Component description,Pod templates, configuration file templates, scripts, parameter lists,injected environment variables and their sources, and event handlers.ComponentDefinition works in conjunction with dynamic settings from the ClusterComponentSpec,to instantiate Components during Cluster creation.Key aspects that can be defined in a ComponentDefinition include:- PodSpec template: Specifies the PodSpec template used by the Component.- Configuration templates: Specify the configuration file templates required by the Component.- Scripts: Provide the necessary scripts for Component management and operations.- Storage volumes: Specify the storage volumes and their configurations for the Component.- Pod roles: Outlines various roles of Pods within the Component along with their capabilities.- Exposed Kubernetes Services: Specify the Services that need to be exposed by the Component.- System accounts: Define the system accounts required for the Component.- Monitoring and logging: Configure the exporter and logging settings for the Component.ComponentDefinitions also enable defining reactive behaviors of the Component in response to events,such as member join/leave, Component addition/deletion, role changes, switch over, and more.This allows for automatic event handling, thus encapsulating complex behaviors within the Component.Referencing a ComponentDefinition when creating individual Components ensures inheritance of predefined configurations,promoting reusability and consistency across different deployments and cluster topologies.", - Attributes: map[string]schema.Attribute{ - "yaml": schema.StringAttribute{ - Description: "The generated manifest in YAML format.", - MarkdownDescription: "The generated manifest in YAML format.", - Required: false, - Optional: false, - Computed: true, - }, + "data_dump": schema.SingleNestedAttribute{ + Description: "Defines the procedure for exporting the data from a replica.Use Case:This action is intended for initializing a newly created replica with data. It involves exporting datafrom an existing replica and importing it into the new, empty replica. This is essential for synchronizingthe state of replicas across the system.Applicability:Some database engines or associated sidecar applications (e.g., Patroni) may already provide this functionality.In such cases, this action may not be required.The output should be a valid data dump streamed to stdout. It must exclude any irrelevant information to ensurethat only the necessary data is exported for import into the new replica.Note: This field is immutable once it has been set.", + MarkdownDescription: "Defines the procedure for exporting the data from a replica.Use Case:This action is intended for initializing a newly created replica with data. It involves exporting datafrom an existing replica and importing it into the new, empty replica. This is essential for synchronizingthe state of replicas across the system.Applicability:Some database engines or associated sidecar applications (e.g., Patroni) may already provide this functionality.In such cases, this action may not be required.The output should be a valid data dump streamed to stdout. It must exclude any irrelevant information to ensurethat only the necessary data is exported for import into the new replica.Note: This field is immutable once it has been set.", + Attributes: map[string]schema.Attribute{ + "exec": schema.SingleNestedAttribute{ + Description: "Defines the command to run.This field cannot be updated.", + MarkdownDescription: "Defines the command to run.This field cannot be updated.", + Attributes: map[string]schema.Attribute{ + "args": schema.ListAttribute{ + Description: "Args represents the arguments that are passed to the 'command' for execution.", + MarkdownDescription: "Args represents the arguments that are passed to the 'command' for execution.", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, - "metadata": schema.SingleNestedAttribute{ - Description: "Data that helps uniquely identify this object. See https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata for more details.", - MarkdownDescription: "Data that helps uniquely identify this object. See https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata for more details.", - Required: true, - Optional: false, - Computed: false, - Attributes: map[string]schema.Attribute{ - "name": schema.StringAttribute{ - Description: "Unique identifier for this object. See https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names for more details.", - MarkdownDescription: "Unique identifier for this object. See https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names for more details.", - Required: true, - Optional: false, - Computed: false, - Validators: []validator.String{ - validators.NameValidator(), - stringvalidator.LengthAtLeast(1), - }, - }, + "command": schema.ListAttribute{ + Description: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", + MarkdownDescription: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, - "labels": schema.MapAttribute{ - Description: "Keys and values that can be used to organize and categorize objects. See https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ for more details.", - MarkdownDescription: "Keys and values that can be used to organize and categorize objects. See https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ for more details.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - Validators: []validator.Map{ - validators.LabelValidator(), - }, - }, - "annotations": schema.MapAttribute{ - Description: "Keys and values that can be used by external tooling to store and retrieve arbitrary metadata about this object. See https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ for more details.", - MarkdownDescription: "Keys and values that can be used by external tooling to store and retrieve arbitrary metadata about this object. See https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ for more details.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - Validators: []validator.Map{ - validators.AnnotationValidator(), - }, - }, - }, - }, + "container": schema.StringAttribute{ + Description: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + MarkdownDescription: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + Required: false, + Optional: true, + Computed: false, + }, - "spec": schema.SingleNestedAttribute{ - Description: "", - MarkdownDescription: "", - Attributes: map[string]schema.Attribute{ - "annotations": schema.MapAttribute{ - Description: "Specifies static annotations that will be patched to all Kubernetes resources created for the Component.Note: If an annotation key in the 'annotations' field conflicts with any system annotationsor user-specified annotations, it will be silently ignored to avoid overriding higher-priority annotations.This field is immutable.", - MarkdownDescription: "Specifies static annotations that will be patched to all Kubernetes resources created for the Component.Note: If an annotation key in the 'annotations' field conflicts with any system annotationsor user-specified annotations, it will be silently ignored to avoid overriding higher-priority annotations.This field is immutable.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, + "env": schema.ListNestedAttribute{ + Description: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", + MarkdownDescription: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "name": schema.StringAttribute{ + Description: "Name of the environment variable. Must be a C_IDENTIFIER.", + MarkdownDescription: "Name of the environment variable. Must be a C_IDENTIFIER.", + Required: true, + Optional: false, + Computed: false, + }, - "configs": schema.ListNestedAttribute{ - Description: "Specifies the configuration file templates and volume mount parameters used by the Component.It also includes descriptions of the parameters in the ConfigMaps, such as value range limitations.This field specifies a list of templates that will be rendered into Component containers' configuration files.Each template is represented as a ConfigMap and may contain multiple configuration files,with each file being a key in the ConfigMap.The rendered configuration files will be mounted into the Component's containers according to the specified volume mount parameters.This field is immutable.", - MarkdownDescription: "Specifies the configuration file templates and volume mount parameters used by the Component.It also includes descriptions of the parameters in the ConfigMaps, such as value range limitations.This field specifies a list of templates that will be rendered into Component containers' configuration files.Each template is represented as a ConfigMap and may contain multiple configuration files,with each file being a key in the ConfigMap.The rendered configuration files will be mounted into the Component's containers according to the specified volume mount parameters.This field is immutable.", - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "as_env_from": schema.ListAttribute{ - Description: "Specifies the containers to inject the ConfigMap parameters as environment variables.This is useful when application images accept parameters through environment variables andgenerate the final configuration file in the startup script based on these variables.This field allows users to specify a list of container names, and KubeBlocks will inject the environmentvariables converted from the ConfigMap into these designated containers. This provides a flexible way topass the configuration items from the ConfigMap to the container without modifying the image.Deprecated: 'asEnvFrom' has been deprecated since 0.9.0 and will be removed in 0.10.0.Use 'injectEnvTo' instead.", - MarkdownDescription: "Specifies the containers to inject the ConfigMap parameters as environment variables.This is useful when application images accept parameters through environment variables andgenerate the final configuration file in the startup script based on these variables.This field allows users to specify a list of container names, and KubeBlocks will inject the environmentvariables converted from the ConfigMap into these designated containers. This provides a flexible way topass the configuration items from the ConfigMap to the container without modifying the image.Deprecated: 'asEnvFrom' has been deprecated since 0.9.0 and will be removed in 0.10.0.Use 'injectEnvTo' instead.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, + "value": schema.StringAttribute{ + Description: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", + MarkdownDescription: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", + Required: false, + Optional: true, + Computed: false, + }, - "constraint_ref": schema.StringAttribute{ - Description: "Specifies the name of the referenced configuration constraints object.", - MarkdownDescription: "Specifies the name of the referenced configuration constraints object.", - Required: false, - Optional: true, - Computed: false, - Validators: []validator.String{ - stringvalidator.LengthAtMost(63), - stringvalidator.RegexMatches(regexp.MustCompile(`^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$`), ""), - }, - }, + "value_from": schema.SingleNestedAttribute{ + Description: "Source for the environment variable's value. Cannot be used if value is not empty.", + MarkdownDescription: "Source for the environment variable's value. Cannot be used if value is not empty.", + Attributes: map[string]schema.Attribute{ + "config_map_key_ref": schema.SingleNestedAttribute{ + Description: "Selects a key of a ConfigMap.", + MarkdownDescription: "Selects a key of a ConfigMap.", + Attributes: map[string]schema.Attribute{ + "key": schema.StringAttribute{ + Description: "The key to select.", + MarkdownDescription: "The key to select.", + Required: true, + Optional: false, + Computed: false, + }, - "default_mode": schema.Int64Attribute{ - Description: "The operator attempts to set default file permissions for scripts (0555) and configurations (0444).However, certain database engines may require different file permissions.You can specify the desired file permissions here.Must be specified as an octal value between 0000 and 0777 (inclusive),or as a decimal value between 0 and 511 (inclusive).YAML supports both octal and decimal values for file permissions.Please note that this setting only affects the permissions of the files themselves.Directories within the specified path are not impacted by this setting.It's important to be aware that this setting might conflict with other optionsthat influence the file mode, such as fsGroup.In such cases, the resulting file mode may have additional bits set.Refers to documents of k8s.ConfigMapVolumeSource.defaultMode for more information.", - MarkdownDescription: "The operator attempts to set default file permissions for scripts (0555) and configurations (0444).However, certain database engines may require different file permissions.You can specify the desired file permissions here.Must be specified as an octal value between 0000 and 0777 (inclusive),or as a decimal value between 0 and 511 (inclusive).YAML supports both octal and decimal values for file permissions.Please note that this setting only affects the permissions of the files themselves.Directories within the specified path are not impacted by this setting.It's important to be aware that this setting might conflict with other optionsthat influence the file mode, such as fsGroup.In such cases, the resulting file mode may have additional bits set.Refers to documents of k8s.ConfigMapVolumeSource.defaultMode for more information.", - Required: false, - Optional: true, - Computed: false, - }, + "name": schema.StringAttribute{ + Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Required: false, + Optional: true, + Computed: false, + }, + + "optional": schema.BoolAttribute{ + Description: "Specify whether the ConfigMap or its key must be defined", + MarkdownDescription: "Specify whether the ConfigMap or its key must be defined", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "field_ref": schema.SingleNestedAttribute{ + Description: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", + MarkdownDescription: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", + Attributes: map[string]schema.Attribute{ + "api_version": schema.StringAttribute{ + Description: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", + MarkdownDescription: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", + Required: false, + Optional: true, + Computed: false, + }, + + "field_path": schema.StringAttribute{ + Description: "Path of the field to select in the specified API version.", + MarkdownDescription: "Path of the field to select in the specified API version.", + Required: true, + Optional: false, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "resource_field_ref": schema.SingleNestedAttribute{ + Description: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", + MarkdownDescription: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", + Attributes: map[string]schema.Attribute{ + "container_name": schema.StringAttribute{ + Description: "Container name: required for volumes, optional for env vars", + MarkdownDescription: "Container name: required for volumes, optional for env vars", + Required: false, + Optional: true, + Computed: false, + }, + + "divisor": schema.StringAttribute{ + Description: "Specifies the output format of the exposed resources, defaults to '1'", + MarkdownDescription: "Specifies the output format of the exposed resources, defaults to '1'", + Required: false, + Optional: true, + Computed: false, + }, + + "resource": schema.StringAttribute{ + Description: "Required: resource to select", + MarkdownDescription: "Required: resource to select", + Required: true, + Optional: false, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, - "inject_env_to": schema.ListAttribute{ - Description: "Specifies the containers to inject the ConfigMap parameters as environment variables.This is useful when application images accept parameters through environment variables andgenerate the final configuration file in the startup script based on these variables.This field allows users to specify a list of container names, and KubeBlocks will inject the environmentvariables converted from the ConfigMap into these designated containers. This provides a flexible way topass the configuration items from the ConfigMap to the container without modifying the image.", - MarkdownDescription: "Specifies the containers to inject the ConfigMap parameters as environment variables.This is useful when application images accept parameters through environment variables andgenerate the final configuration file in the startup script based on these variables.This field allows users to specify a list of container names, and KubeBlocks will inject the environmentvariables converted from the ConfigMap into these designated containers. This provides a flexible way topass the configuration items from the ConfigMap to the container without modifying the image.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, + "secret_key_ref": schema.SingleNestedAttribute{ + Description: "Selects a key of a secret in the pod's namespace", + MarkdownDescription: "Selects a key of a secret in the pod's namespace", + Attributes: map[string]schema.Attribute{ + "key": schema.StringAttribute{ + Description: "The key of the secret to select from. Must be a valid secret key.", + MarkdownDescription: "The key of the secret to select from. Must be a valid secret key.", + Required: true, + Optional: false, + Computed: false, + }, - "keys": schema.ListAttribute{ - Description: "Specifies the configuration files within the ConfigMap that support dynamic updates.A configuration template (provided in the form of a ConfigMap) may contain templates for multipleconfiguration files.Each configuration file corresponds to a key in the ConfigMap.Some of these configuration files may support dynamic modification and reloading without requiringa pod restart.If empty or omitted, all configuration files in the ConfigMap are assumed to support dynamic updates,and ConfigConstraint applies to all keys.", - MarkdownDescription: "Specifies the configuration files within the ConfigMap that support dynamic updates.A configuration template (provided in the form of a ConfigMap) may contain templates for multipleconfiguration files.Each configuration file corresponds to a key in the ConfigMap.Some of these configuration files may support dynamic modification and reloading without requiringa pod restart.If empty or omitted, all configuration files in the ConfigMap are assumed to support dynamic updates,and ConfigConstraint applies to all keys.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, + "name": schema.StringAttribute{ + Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Required: false, + Optional: true, + Computed: false, + }, - "legacy_rendered_config_spec": schema.SingleNestedAttribute{ - Description: "Specifies the secondary rendered config spec for pod-specific customization.The template is rendered inside the pod (by the 'config-manager' sidecar container) and merged with the maintemplate's render result to generate the final configuration file.This field is intended to handle scenarios where different pods within the same Component havevarying configurations. It allows for pod-specific customization of the configuration.Note: This field will be deprecated in future versions, and the functionality will be moved to'cluster.spec.componentSpecs[*].instances[*]'.", - MarkdownDescription: "Specifies the secondary rendered config spec for pod-specific customization.The template is rendered inside the pod (by the 'config-manager' sidecar container) and merged with the maintemplate's render result to generate the final configuration file.This field is intended to handle scenarios where different pods within the same Component havevarying configurations. It allows for pod-specific customization of the configuration.Note: This field will be deprecated in future versions, and the functionality will be moved to'cluster.spec.componentSpecs[*].instances[*]'.", - Attributes: map[string]schema.Attribute{ - "namespace": schema.StringAttribute{ - Description: "Specifies the namespace of the referenced configuration template ConfigMap object.An empty namespace is equivalent to the 'default' namespace.", - MarkdownDescription: "Specifies the namespace of the referenced configuration template ConfigMap object.An empty namespace is equivalent to the 'default' namespace.", - Required: false, - Optional: true, - Computed: false, - Validators: []validator.String{ - stringvalidator.RegexMatches(regexp.MustCompile(`^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$`), ""), + "optional": schema.BoolAttribute{ + Description: "Specify whether the Secret or its key must be defined", + MarkdownDescription: "Specify whether the Secret or its key must be defined", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, }, - }, - "policy": schema.StringAttribute{ - Description: "Defines the strategy for merging externally imported templates into component templates.", - MarkdownDescription: "Defines the strategy for merging externally imported templates into component templates.", - Required: false, - Optional: true, - Computed: false, - Validators: []validator.String{ - stringvalidator.OneOf("patch", "replace", "none"), + "image": schema.StringAttribute{ + Description: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", + MarkdownDescription: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", + Required: false, + Optional: true, + Computed: false, }, - }, - "template_ref": schema.StringAttribute{ - Description: "Specifies the name of the referenced configuration template ConfigMap object.", - MarkdownDescription: "Specifies the name of the referenced configuration template ConfigMap object.", - Required: true, - Optional: false, - Computed: false, - Validators: []validator.String{ - stringvalidator.RegexMatches(regexp.MustCompile(`^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$`), ""), + "matching_key": schema.StringAttribute{ + Description: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + MarkdownDescription: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + Required: false, + Optional: true, + Computed: false, }, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "name": schema.StringAttribute{ - Description: "Specifies the name of the configuration template.", - MarkdownDescription: "Specifies the name of the configuration template.", - Required: true, - Optional: false, - Computed: false, - Validators: []validator.String{ - stringvalidator.LengthAtMost(63), - stringvalidator.RegexMatches(regexp.MustCompile(`^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$`), ""), - }, - }, - - "namespace": schema.StringAttribute{ - Description: "Specifies the namespace of the referenced configuration template ConfigMap object.An empty namespace is equivalent to the 'default' namespace.", - MarkdownDescription: "Specifies the namespace of the referenced configuration template ConfigMap object.An empty namespace is equivalent to the 'default' namespace.", - Required: false, - Optional: true, - Computed: false, - Validators: []validator.String{ - stringvalidator.LengthAtMost(63), - stringvalidator.RegexMatches(regexp.MustCompile(`^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$`), ""), - }, - }, - - "re_render_resource_types": schema.ListAttribute{ - Description: "Specifies whether the configuration needs to be re-rendered after v-scale or h-scale operations to reflect changes.In some scenarios, the configuration may need to be updated to reflect the changes in resource allocationor cluster topology. Examples:- Redis: adjust maxmemory after v-scale operation.- MySQL: increase max connections after v-scale operation.- Zookeeper: update zoo.cfg with new node addresses after h-scale operation.", - MarkdownDescription: "Specifies whether the configuration needs to be re-rendered after v-scale or h-scale operations to reflect changes.In some scenarios, the configuration may need to be updated to reflect the changes in resource allocationor cluster topology. Examples:- Redis: adjust maxmemory after v-scale operation.- MySQL: increase max connections after v-scale operation.- Zookeeper: update zoo.cfg with new node addresses after h-scale operation.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - "template_ref": schema.StringAttribute{ - Description: "Specifies the name of the referenced configuration template ConfigMap object.", - MarkdownDescription: "Specifies the name of the referenced configuration template ConfigMap object.", - Required: false, - Optional: true, - Computed: false, - Validators: []validator.String{ - stringvalidator.LengthAtMost(63), - stringvalidator.RegexMatches(regexp.MustCompile(`^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$`), ""), + "target_pod_selector": schema.StringAttribute{ + Description: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + MarkdownDescription: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + Required: false, + Optional: true, + Computed: false, + Validators: []validator.String{ + stringvalidator.OneOf("Any", "All", "Role", "Ordinal"), + }, + }, + }, + Required: false, + Optional: true, + Computed: false, }, - }, - "volume_name": schema.StringAttribute{ - Description: "Refers to the volume name of PodTemplate. The configuration file produced through the configurationtemplate will be mounted to the corresponding volume. Must be a DNS_LABEL name.The volume name must be defined in podSpec.containers[*].volumeMounts.", - MarkdownDescription: "Refers to the volume name of PodTemplate. The configuration file produced through the configurationtemplate will be mounted to the corresponding volume. Must be a DNS_LABEL name.The volume name must be defined in podSpec.containers[*].volumeMounts.", - Required: true, - Optional: false, - Computed: false, - Validators: []validator.String{ - stringvalidator.LengthAtMost(63), - stringvalidator.RegexMatches(regexp.MustCompile(`^[a-z]([a-z0-9\-]*[a-z0-9])?$`), ""), + "pre_condition": schema.StringAttribute{ + Description: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", + MarkdownDescription: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", + Required: false, + Optional: true, + Computed: false, }, - }, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "description": schema.StringAttribute{ - Description: "Provides a brief and concise explanation of the Component's purpose, functionality, and any relevant details.It serves as a quick reference for users to understand the Component's role and characteristics.", - MarkdownDescription: "Provides a brief and concise explanation of the Component's purpose, functionality, and any relevant details.It serves as a quick reference for users to understand the Component's role and characteristics.", - Required: false, - Optional: true, - Computed: false, - Validators: []validator.String{ - stringvalidator.LengthAtMost(256), - }, - }, - - "exporter": schema.SingleNestedAttribute{ - Description: "Defines the built-in metrics exporter container.", - MarkdownDescription: "Defines the built-in metrics exporter container.", - Attributes: map[string]schema.Attribute{ - "container_name": schema.StringAttribute{ - Description: "Specifies the name of the built-in metrics exporter container.", - MarkdownDescription: "Specifies the name of the built-in metrics exporter container.", - Required: false, - Optional: true, - Computed: false, - }, - - "scrape_path": schema.StringAttribute{ - Description: "Specifies the http/https url path to scrape for metrics.If empty, Prometheus uses the default value (e.g. '/metrics').", - MarkdownDescription: "Specifies the http/https url path to scrape for metrics.If empty, Prometheus uses the default value (e.g. '/metrics').", - Required: false, - Optional: true, - Computed: false, - }, - - "scrape_port": schema.StringAttribute{ - Description: "Specifies the port name to scrape for metrics.", - MarkdownDescription: "Specifies the port name to scrape for metrics.", - Required: false, - Optional: true, - Computed: false, - }, - "scrape_scheme": schema.StringAttribute{ - Description: "Specifies the schema to use for scraping.'http' and 'https' are the expected values unless you rewrite the '__scheme__' label via relabeling.If empty, Prometheus uses the default value 'http'.", - MarkdownDescription: "Specifies the schema to use for scraping.'http' and 'https' are the expected values unless you rewrite the '__scheme__' label via relabeling.If empty, Prometheus uses the default value 'http'.", - Required: false, - Optional: true, - Computed: false, - Validators: []validator.String{ - stringvalidator.OneOf("http", "https"), - }, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "host_network": schema.SingleNestedAttribute{ - Description: "Specifies the host network configuration for the Component.When 'hostNetwork' option is enabled, the Pods share the host's network namespace and can directly accessthe host's network interfaces.This means that if multiple Pods need to use the same port, they cannot run on the same host simultaneouslydue to port conflicts.The DNSPolicy field in the Pod spec determines how containers within the Pod perform DNS resolution.When using hostNetwork, the operator will set the DNSPolicy to 'ClusterFirstWithHostNet'.With this policy, DNS queries will first go through the K8s cluster's DNS service.If the query fails, it will fall back to the host's DNS settings.If set, the DNS policy will be automatically set to 'ClusterFirstWithHostNet'.This field is immutable.", - MarkdownDescription: "Specifies the host network configuration for the Component.When 'hostNetwork' option is enabled, the Pods share the host's network namespace and can directly accessthe host's network interfaces.This means that if multiple Pods need to use the same port, they cannot run on the same host simultaneouslydue to port conflicts.The DNSPolicy field in the Pod spec determines how containers within the Pod perform DNS resolution.When using hostNetwork, the operator will set the DNSPolicy to 'ClusterFirstWithHostNet'.With this policy, DNS queries will first go through the K8s cluster's DNS service.If the query fails, it will fall back to the host's DNS settings.If set, the DNS policy will be automatically set to 'ClusterFirstWithHostNet'.This field is immutable.", - Attributes: map[string]schema.Attribute{ - "container_ports": schema.ListNestedAttribute{ - Description: "The list of container ports that are required by the component.", - MarkdownDescription: "The list of container ports that are required by the component.", - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "container": schema.StringAttribute{ - Description: "Container specifies the target container within the Pod.", - MarkdownDescription: "Container specifies the target container within the Pod.", - Required: true, - Optional: false, - Computed: false, - }, + "retry_policy": schema.SingleNestedAttribute{ + Description: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", + MarkdownDescription: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", + Attributes: map[string]schema.Attribute{ + "max_retries": schema.Int64Attribute{ + Description: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", + MarkdownDescription: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", + Required: false, + Optional: true, + Computed: false, + }, - "ports": schema.ListAttribute{ - Description: "Ports are named container ports within the specified container.These container ports must be defined in the container for proper port allocation.", - MarkdownDescription: "Ports are named container ports within the specified container.These container ports must be defined in the container for proper port allocation.", - ElementType: types.StringType, - Required: true, - Optional: false, - Computed: false, + "retry_interval": schema.Int64Attribute{ + Description: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", + MarkdownDescription: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", + Required: false, + Optional: true, + Computed: false, + }, }, + Required: false, + Optional: true, + Computed: false, + }, + + "timeout_seconds": schema.Int64Attribute{ + Description: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", + MarkdownDescription: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", + Required: false, + Optional: true, + Computed: false, }, }, Required: false, Optional: true, Computed: false, }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "labels": schema.MapAttribute{ - Description: "Specifies static labels that will be patched to all Kubernetes resources created for the Component.Note: If a label key in the 'labels' field conflicts with any system labels or user-specified labels,it will be silently ignored to avoid overriding higher-priority labels.This field is immutable.", - MarkdownDescription: "Specifies static labels that will be patched to all Kubernetes resources created for the Component.Note: If a label key in the 'labels' field conflicts with any system labels or user-specified labels,it will be silently ignored to avoid overriding higher-priority labels.This field is immutable.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - "lifecycle_actions": schema.SingleNestedAttribute{ - Description: "Defines a set of hooks and procedures that customize the behavior of a Component throughout its lifecycle.Actions are triggered at specific lifecycle stages: - 'postProvision': Defines the hook to be executed after the creation of a Component, with 'preCondition' specifying when the action should be fired relative to the Component's lifecycle stages: 'Immediately', 'RuntimeReady', 'ComponentReady', and 'ClusterReady'. - 'preTerminate': Defines the hook to be executed before terminating a Component. - 'roleProbe': Defines the procedure which is invoked regularly to assess the role of replicas. - 'switchover': Defines the procedure for a controlled transition of leadership from the current leader to a new replica. This approach aims to minimize downtime and maintain availability in systems with a leader-follower topology, such as before planned maintenance or upgrades on the current leader node. - 'memberJoin': Defines the procedure to add a new replica to the replication group. - 'memberLeave': Defines the method to remove a replica from the replication group. - 'readOnly': Defines the procedure to switch a replica into the read-only state. - 'readWrite': transition a replica from the read-only state back to the read-write state. - 'dataDump': Defines the procedure to export the data from a replica. - 'dataLoad': Defines the procedure to import data into a replica. - 'reconfigure': Defines the procedure that update a replica with new configuration file. - 'accountProvision': Defines the procedure to generate a new database account.This field is immutable.", - MarkdownDescription: "Defines a set of hooks and procedures that customize the behavior of a Component throughout its lifecycle.Actions are triggered at specific lifecycle stages: - 'postProvision': Defines the hook to be executed after the creation of a Component, with 'preCondition' specifying when the action should be fired relative to the Component's lifecycle stages: 'Immediately', 'RuntimeReady', 'ComponentReady', and 'ClusterReady'. - 'preTerminate': Defines the hook to be executed before terminating a Component. - 'roleProbe': Defines the procedure which is invoked regularly to assess the role of replicas. - 'switchover': Defines the procedure for a controlled transition of leadership from the current leader to a new replica. This approach aims to minimize downtime and maintain availability in systems with a leader-follower topology, such as before planned maintenance or upgrades on the current leader node. - 'memberJoin': Defines the procedure to add a new replica to the replication group. - 'memberLeave': Defines the method to remove a replica from the replication group. - 'readOnly': Defines the procedure to switch a replica into the read-only state. - 'readWrite': transition a replica from the read-only state back to the read-write state. - 'dataDump': Defines the procedure to export the data from a replica. - 'dataLoad': Defines the procedure to import data into a replica. - 'reconfigure': Defines the procedure that update a replica with new configuration file. - 'accountProvision': Defines the procedure to generate a new database account.This field is immutable.", - Attributes: map[string]schema.Attribute{ - "account_provision": schema.SingleNestedAttribute{ - Description: "Defines the procedure to generate a new database account.Use Case:This action is designed to create system accounts that are utilized for replication, monitoring, backup,and other administrative tasks.Note: This field is immutable once it has been set.", - MarkdownDescription: "Defines the procedure to generate a new database account.Use Case:This action is designed to create system accounts that are utilized for replication, monitoring, backup,and other administrative tasks.Note: This field is immutable once it has been set.", + "data_load": schema.SingleNestedAttribute{ + Description: "Defines the procedure for importing data into a replica.Use Case:This action is intended for initializing a newly created replica with data. It involves exporting datafrom an existing replica and importing it into the new, empty replica. This is essential for synchronizingthe state of replicas across the system.Some database engines or associated sidecar applications (e.g., Patroni) may already provide this functionality.In such cases, this action may not be required.Data should be received through stdin. If any error occurs during the process,the action must be able to guarantee idempotence to allow for retries from the beginning.Note: This field is immutable once it has been set.", + MarkdownDescription: "Defines the procedure for importing data into a replica.Use Case:This action is intended for initializing a newly created replica with data. It involves exporting datafrom an existing replica and importing it into the new, empty replica. This is essential for synchronizingthe state of replicas across the system.Some database engines or associated sidecar applications (e.g., Patroni) may already provide this functionality.In such cases, this action may not be required.Data should be received through stdin. If any error occurs during the process,the action must be able to guarantee idempotence to allow for retries from the beginning.Note: This field is immutable once it has been set.", Attributes: map[string]schema.Attribute{ - "builtin_handler": schema.StringAttribute{ - Description: "Specifies the name of the predefined action handler to be invoked for lifecycle actions.Lorry, as a sidecar agent co-located with the database container in the same Pod,includes a suite of built-in action implementations that are tailored to different database engines.These are known as 'builtin' handlers, includes: 'mysql', 'redis', 'mongodb', 'etcd','postgresql', 'official-postgresql', 'apecloud-postgresql', 'wesql', 'oceanbase', 'polardbx'.If the 'builtinHandler' field is specified, it instructs Lorry to utilize its internal built-in action handlerto execute the specified lifecycle actions.The 'builtinHandler' field is of type 'BuiltinActionHandlerType',which represents the name of the built-in handler.The 'builtinHandler' specified within the same 'ComponentLifecycleActions' should be consistent across allactions.This means that if you specify a built-in handler for one action, you should use the same handlerfor all other actions throughout the entire 'ComponentLifecycleActions' collection.If you need to define lifecycle actions for database engines not covered by the existing built-in support,or when the pre-existing built-in handlers do not meet your specific needs,you can use the 'customHandler' field to define your own action implementation.Deprecation Notice:- In the future, the 'builtinHandler' field will be deprecated in favor of using the 'customHandler' field for configuring all lifecycle actions.- Instead of using a name to indicate the built-in action implementations in Lorry, the recommended approach will be to explicitly invoke the desired action implementation through a gRPC interface exposed by the sidecar agent.- Developers will have the flexibility to either use the built-in action implementations provided by Lorry or develop their own sidecar agent to implement custom actions and expose them via gRPC interfaces.- This change will allow for greater customization and extensibility of lifecycle actions, as developers can create their own 'builtin' implementations tailored to their specific requirements.", - MarkdownDescription: "Specifies the name of the predefined action handler to be invoked for lifecycle actions.Lorry, as a sidecar agent co-located with the database container in the same Pod,includes a suite of built-in action implementations that are tailored to different database engines.These are known as 'builtin' handlers, includes: 'mysql', 'redis', 'mongodb', 'etcd','postgresql', 'official-postgresql', 'apecloud-postgresql', 'wesql', 'oceanbase', 'polardbx'.If the 'builtinHandler' field is specified, it instructs Lorry to utilize its internal built-in action handlerto execute the specified lifecycle actions.The 'builtinHandler' field is of type 'BuiltinActionHandlerType',which represents the name of the built-in handler.The 'builtinHandler' specified within the same 'ComponentLifecycleActions' should be consistent across allactions.This means that if you specify a built-in handler for one action, you should use the same handlerfor all other actions throughout the entire 'ComponentLifecycleActions' collection.If you need to define lifecycle actions for database engines not covered by the existing built-in support,or when the pre-existing built-in handlers do not meet your specific needs,you can use the 'customHandler' field to define your own action implementation.Deprecation Notice:- In the future, the 'builtinHandler' field will be deprecated in favor of using the 'customHandler' field for configuring all lifecycle actions.- Instead of using a name to indicate the built-in action implementations in Lorry, the recommended approach will be to explicitly invoke the desired action implementation through a gRPC interface exposed by the sidecar agent.- Developers will have the flexibility to either use the built-in action implementations provided by Lorry or develop their own sidecar agent to implement custom actions and expose them via gRPC interfaces.- This change will allow for greater customization and extensibility of lifecycle actions, as developers can create their own 'builtin' implementations tailored to their specific requirements.", - Required: false, - Optional: true, - Computed: false, - }, - - "custom_handler": schema.SingleNestedAttribute{ - Description: "Specifies a user-defined hook or procedure that is called to perform the specific lifecycle action.It offers a flexible and expandable approach for customizing the behavior of a Component by leveragingtailored actions.An Action can be implemented as either an ExecAction or an HTTPAction, with future versions planningto support GRPCAction,thereby accommodating unique logic for different database systems within the Action's framework.In future iterations, all built-in handlers are expected to transition to GRPCAction.This change means that Lorry or other sidecar agents will expose the implementation of actionsthrough a GRPC interface for external invocation.Then the controller will interact with these actions via GRPCAction calls.", - MarkdownDescription: "Specifies a user-defined hook or procedure that is called to perform the specific lifecycle action.It offers a flexible and expandable approach for customizing the behavior of a Component by leveragingtailored actions.An Action can be implemented as either an ExecAction or an HTTPAction, with future versions planningto support GRPCAction,thereby accommodating unique logic for different database systems within the Action's framework.In future iterations, all built-in handlers are expected to transition to GRPCAction.This change means that Lorry or other sidecar agents will expose the implementation of actionsthrough a GRPC interface for external invocation.Then the controller will interact with these actions via GRPCAction calls.", + "exec": schema.SingleNestedAttribute{ + Description: "Defines the command to run.This field cannot be updated.", + MarkdownDescription: "Defines the command to run.This field cannot be updated.", Attributes: map[string]schema.Attribute{ - "exec": schema.SingleNestedAttribute{ - Description: "Defines the command to run.This field cannot be updated.", - MarkdownDescription: "Defines the command to run.This field cannot be updated.", - Attributes: map[string]schema.Attribute{ - "args": schema.ListAttribute{ - Description: "Args represents the arguments that are passed to the 'command' for execution.", - MarkdownDescription: "Args represents the arguments that are passed to the 'command' for execution.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, + "args": schema.ListAttribute{ + Description: "Args represents the arguments that are passed to the 'command' for execution.", + MarkdownDescription: "Args represents the arguments that are passed to the 'command' for execution.", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, - "command": schema.ListAttribute{ - Description: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", - MarkdownDescription: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, + "command": schema.ListAttribute{ + Description: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", + MarkdownDescription: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, - "container": schema.StringAttribute{ - Description: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - MarkdownDescription: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - Required: false, - Optional: true, - Computed: false, - }, + "container": schema.StringAttribute{ + Description: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + MarkdownDescription: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + Required: false, + Optional: true, + Computed: false, + }, - "env": schema.ListNestedAttribute{ - Description: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", - MarkdownDescription: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "name": schema.StringAttribute{ - Description: "Name of the environment variable. Must be a C_IDENTIFIER.", - MarkdownDescription: "Name of the environment variable. Must be a C_IDENTIFIER.", - Required: true, - Optional: false, - Computed: false, - }, + "env": schema.ListNestedAttribute{ + Description: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", + MarkdownDescription: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "name": schema.StringAttribute{ + Description: "Name of the environment variable. Must be a C_IDENTIFIER.", + MarkdownDescription: "Name of the environment variable. Must be a C_IDENTIFIER.", + Required: true, + Optional: false, + Computed: false, + }, - "value": schema.StringAttribute{ - Description: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", - MarkdownDescription: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", - Required: false, - Optional: true, - Computed: false, - }, + "value": schema.StringAttribute{ + Description: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", + MarkdownDescription: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", + Required: false, + Optional: true, + Computed: false, + }, - "value_from": schema.SingleNestedAttribute{ - Description: "Source for the environment variable's value. Cannot be used if value is not empty.", - MarkdownDescription: "Source for the environment variable's value. Cannot be used if value is not empty.", + "value_from": schema.SingleNestedAttribute{ + Description: "Source for the environment variable's value. Cannot be used if value is not empty.", + MarkdownDescription: "Source for the environment variable's value. Cannot be used if value is not empty.", + Attributes: map[string]schema.Attribute{ + "config_map_key_ref": schema.SingleNestedAttribute{ + Description: "Selects a key of a ConfigMap.", + MarkdownDescription: "Selects a key of a ConfigMap.", Attributes: map[string]schema.Attribute{ - "config_map_key_ref": schema.SingleNestedAttribute{ - Description: "Selects a key of a ConfigMap.", - MarkdownDescription: "Selects a key of a ConfigMap.", - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "The key to select.", - MarkdownDescription: "The key to select.", - Required: true, - Optional: false, - Computed: false, - }, + "key": schema.StringAttribute{ + Description: "The key to select.", + MarkdownDescription: "The key to select.", + Required: true, + Optional: false, + Computed: false, + }, - "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - Required: false, - Optional: true, - Computed: false, - }, + "name": schema.StringAttribute{ + Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Required: false, + Optional: true, + Computed: false, + }, - "optional": schema.BoolAttribute{ - Description: "Specify whether the ConfigMap or its key must be defined", - MarkdownDescription: "Specify whether the ConfigMap or its key must be defined", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "optional": schema.BoolAttribute{ + Description: "Specify whether the ConfigMap or its key must be defined", + MarkdownDescription: "Specify whether the ConfigMap or its key must be defined", + Required: false, + Optional: true, + Computed: false, }, + }, + Required: false, + Optional: true, + Computed: false, + }, - "field_ref": schema.SingleNestedAttribute{ - Description: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", - MarkdownDescription: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", - Attributes: map[string]schema.Attribute{ - "api_version": schema.StringAttribute{ - Description: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", - MarkdownDescription: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", - Required: false, - Optional: true, - Computed: false, - }, + "field_ref": schema.SingleNestedAttribute{ + Description: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", + MarkdownDescription: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", + Attributes: map[string]schema.Attribute{ + "api_version": schema.StringAttribute{ + Description: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", + MarkdownDescription: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", + Required: false, + Optional: true, + Computed: false, + }, - "field_path": schema.StringAttribute{ - Description: "Path of the field to select in the specified API version.", - MarkdownDescription: "Path of the field to select in the specified API version.", - Required: true, - Optional: false, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "field_path": schema.StringAttribute{ + Description: "Path of the field to select in the specified API version.", + MarkdownDescription: "Path of the field to select in the specified API version.", + Required: true, + Optional: false, + Computed: false, }, + }, + Required: false, + Optional: true, + Computed: false, + }, - "resource_field_ref": schema.SingleNestedAttribute{ - Description: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", - MarkdownDescription: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", - Attributes: map[string]schema.Attribute{ - "container_name": schema.StringAttribute{ - Description: "Container name: required for volumes, optional for env vars", - MarkdownDescription: "Container name: required for volumes, optional for env vars", - Required: false, - Optional: true, - Computed: false, - }, + "resource_field_ref": schema.SingleNestedAttribute{ + Description: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", + MarkdownDescription: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", + Attributes: map[string]schema.Attribute{ + "container_name": schema.StringAttribute{ + Description: "Container name: required for volumes, optional for env vars", + MarkdownDescription: "Container name: required for volumes, optional for env vars", + Required: false, + Optional: true, + Computed: false, + }, - "divisor": schema.StringAttribute{ - Description: "Specifies the output format of the exposed resources, defaults to '1'", - MarkdownDescription: "Specifies the output format of the exposed resources, defaults to '1'", - Required: false, - Optional: true, - Computed: false, - }, + "divisor": schema.StringAttribute{ + Description: "Specifies the output format of the exposed resources, defaults to '1'", + MarkdownDescription: "Specifies the output format of the exposed resources, defaults to '1'", + Required: false, + Optional: true, + Computed: false, + }, - "resource": schema.StringAttribute{ - Description: "Required: resource to select", - MarkdownDescription: "Required: resource to select", - Required: true, - Optional: false, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "resource": schema.StringAttribute{ + Description: "Required: resource to select", + MarkdownDescription: "Required: resource to select", + Required: true, + Optional: false, + Computed: false, }, + }, + Required: false, + Optional: true, + Computed: false, + }, - "secret_key_ref": schema.SingleNestedAttribute{ - Description: "Selects a key of a secret in the pod's namespace", - MarkdownDescription: "Selects a key of a secret in the pod's namespace", - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "The key of the secret to select from. Must be a valid secret key.", - MarkdownDescription: "The key of the secret to select from. Must be a valid secret key.", - Required: true, - Optional: false, - Computed: false, - }, + "secret_key_ref": schema.SingleNestedAttribute{ + Description: "Selects a key of a secret in the pod's namespace", + MarkdownDescription: "Selects a key of a secret in the pod's namespace", + Attributes: map[string]schema.Attribute{ + "key": schema.StringAttribute{ + Description: "The key of the secret to select from. Must be a valid secret key.", + MarkdownDescription: "The key of the secret to select from. Must be a valid secret key.", + Required: true, + Optional: false, + Computed: false, + }, - "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - Required: false, - Optional: true, - Computed: false, - }, + "name": schema.StringAttribute{ + Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Required: false, + Optional: true, + Computed: false, + }, - "optional": schema.BoolAttribute{ - Description: "Specify whether the Secret or its key must be defined", - MarkdownDescription: "Specify whether the Secret or its key must be defined", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "optional": schema.BoolAttribute{ + Description: "Specify whether the Secret or its key must be defined", + MarkdownDescription: "Specify whether the Secret or its key must be defined", + Required: false, + Optional: true, + Computed: false, }, }, Required: false, @@ -2690,36 +3140,9 @@ func (r *AppsKubeblocksIoComponentDefinitionV1Alpha1Manifest) Schema(_ context.C Computed: false, }, }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "image": schema.StringAttribute{ - Description: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", - MarkdownDescription: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", - Required: false, - Optional: true, - Computed: false, - }, - - "matching_key": schema.StringAttribute{ - Description: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - MarkdownDescription: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - Required: false, - Optional: true, - Computed: false, - }, - - "target_pod_selector": schema.StringAttribute{ - Description: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - MarkdownDescription: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - Required: false, - Optional: true, - Computed: false, - Validators: []validator.String{ - stringvalidator.OneOf("Any", "All", "Role", "Ordinal"), + Required: false, + Optional: true, + Computed: false, }, }, }, @@ -2728,42 +3151,61 @@ func (r *AppsKubeblocksIoComponentDefinitionV1Alpha1Manifest) Schema(_ context.C Computed: false, }, - "pre_condition": schema.StringAttribute{ - Description: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", - MarkdownDescription: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", + "image": schema.StringAttribute{ + Description: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", + MarkdownDescription: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", Required: false, Optional: true, Computed: false, }, - "retry_policy": schema.SingleNestedAttribute{ - Description: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", - MarkdownDescription: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", - Attributes: map[string]schema.Attribute{ - "max_retries": schema.Int64Attribute{ - Description: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", - MarkdownDescription: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", - Required: false, - Optional: true, - Computed: false, - }, + "matching_key": schema.StringAttribute{ + Description: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + MarkdownDescription: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + Required: false, + Optional: true, + Computed: false, + }, - "retry_interval": schema.Int64Attribute{ - Description: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", - MarkdownDescription: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", - Required: false, - Optional: true, - Computed: false, - }, + "target_pod_selector": schema.StringAttribute{ + Description: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + MarkdownDescription: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + Required: false, + Optional: true, + Computed: false, + Validators: []validator.String{ + stringvalidator.OneOf("Any", "All", "Role", "Ordinal"), }, - Required: false, - Optional: true, - Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "pre_condition": schema.StringAttribute{ + Description: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", + MarkdownDescription: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", + Required: false, + Optional: true, + Computed: false, + }, + + "retry_policy": schema.SingleNestedAttribute{ + Description: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", + MarkdownDescription: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", + Attributes: map[string]schema.Attribute{ + "max_retries": schema.Int64Attribute{ + Description: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", + MarkdownDescription: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", + Required: false, + Optional: true, + Computed: false, }, - "timeout_seconds": schema.Int64Attribute{ - Description: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", - MarkdownDescription: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", + "retry_interval": schema.Int64Attribute{ + Description: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", + MarkdownDescription: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", Required: false, Optional: true, Computed: false, @@ -2773,205 +3215,196 @@ func (r *AppsKubeblocksIoComponentDefinitionV1Alpha1Manifest) Schema(_ context.C Optional: true, Computed: false, }, + + "timeout_seconds": schema.Int64Attribute{ + Description: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", + MarkdownDescription: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", + Required: false, + Optional: true, + Computed: false, + }, }, Required: false, Optional: true, Computed: false, }, - "data_dump": schema.SingleNestedAttribute{ - Description: "Defines the procedure for exporting the data from a replica.Use Case:This action is intended for initializing a newly created replica with data. It involves exporting datafrom an existing replica and importing it into the new, empty replica. This is essential for synchronizingthe state of replicas across the system.Applicability:Some database engines or associated sidecar applications (e.g., Patroni) may already provide this functionality.In such cases, this action may not be required.The output should be a valid data dump streamed to stdout. It must exclude any irrelevant information to ensurethat only the necessary data is exported for import into the new replica.Note: This field is immutable once it has been set.", - MarkdownDescription: "Defines the procedure for exporting the data from a replica.Use Case:This action is intended for initializing a newly created replica with data. It involves exporting datafrom an existing replica and importing it into the new, empty replica. This is essential for synchronizingthe state of replicas across the system.Applicability:Some database engines or associated sidecar applications (e.g., Patroni) may already provide this functionality.In such cases, this action may not be required.The output should be a valid data dump streamed to stdout. It must exclude any irrelevant information to ensurethat only the necessary data is exported for import into the new replica.Note: This field is immutable once it has been set.", + "member_join": schema.SingleNestedAttribute{ + Description: "Defines the procedure to add a new replica to the replication group.This action is initiated after a replica pod becomes ready.The role of the replica (e.g., primary, secondary) will be determined and assigned as part of the action commandimplementation, or automatically by the database kernel or a sidecar utility like Patroni that implementsa consensus algorithm.The container executing this action has access to following variables:- KB_JOIN_MEMBER_POD_FQDN: The pod FQDN of the replica being added to the group.- KB_JOIN_MEMBER_POD_NAME: The pod name of the replica being added to the group.Expected action output:- On Failure: An error message detailing the reason for any failure encountered during the addition of the new member.For example, to add a new OBServer to an OceanBase Cluster in 'zone1', the following command may be used:'''yamlcommand:- bash- -c- | CLIENT='mysql -u $SERVICE_USER -p$SERVICE_PASSWORD -P $SERVICE_PORT -h $SERVICE_HOST -e' $CLIENT 'ALTER SYSTEM ADD SERVER '$KB_POD_FQDN:$SERVICE_PORT' ZONE 'zone1'''''Note: This field is immutable once it has been set.", + MarkdownDescription: "Defines the procedure to add a new replica to the replication group.This action is initiated after a replica pod becomes ready.The role of the replica (e.g., primary, secondary) will be determined and assigned as part of the action commandimplementation, or automatically by the database kernel or a sidecar utility like Patroni that implementsa consensus algorithm.The container executing this action has access to following variables:- KB_JOIN_MEMBER_POD_FQDN: The pod FQDN of the replica being added to the group.- KB_JOIN_MEMBER_POD_NAME: The pod name of the replica being added to the group.Expected action output:- On Failure: An error message detailing the reason for any failure encountered during the addition of the new member.For example, to add a new OBServer to an OceanBase Cluster in 'zone1', the following command may be used:'''yamlcommand:- bash- -c- | CLIENT='mysql -u $SERVICE_USER -p$SERVICE_PASSWORD -P $SERVICE_PORT -h $SERVICE_HOST -e' $CLIENT 'ALTER SYSTEM ADD SERVER '$KB_POD_FQDN:$SERVICE_PORT' ZONE 'zone1'''''Note: This field is immutable once it has been set.", Attributes: map[string]schema.Attribute{ - "builtin_handler": schema.StringAttribute{ - Description: "Specifies the name of the predefined action handler to be invoked for lifecycle actions.Lorry, as a sidecar agent co-located with the database container in the same Pod,includes a suite of built-in action implementations that are tailored to different database engines.These are known as 'builtin' handlers, includes: 'mysql', 'redis', 'mongodb', 'etcd','postgresql', 'official-postgresql', 'apecloud-postgresql', 'wesql', 'oceanbase', 'polardbx'.If the 'builtinHandler' field is specified, it instructs Lorry to utilize its internal built-in action handlerto execute the specified lifecycle actions.The 'builtinHandler' field is of type 'BuiltinActionHandlerType',which represents the name of the built-in handler.The 'builtinHandler' specified within the same 'ComponentLifecycleActions' should be consistent across allactions.This means that if you specify a built-in handler for one action, you should use the same handlerfor all other actions throughout the entire 'ComponentLifecycleActions' collection.If you need to define lifecycle actions for database engines not covered by the existing built-in support,or when the pre-existing built-in handlers do not meet your specific needs,you can use the 'customHandler' field to define your own action implementation.Deprecation Notice:- In the future, the 'builtinHandler' field will be deprecated in favor of using the 'customHandler' field for configuring all lifecycle actions.- Instead of using a name to indicate the built-in action implementations in Lorry, the recommended approach will be to explicitly invoke the desired action implementation through a gRPC interface exposed by the sidecar agent.- Developers will have the flexibility to either use the built-in action implementations provided by Lorry or develop their own sidecar agent to implement custom actions and expose them via gRPC interfaces.- This change will allow for greater customization and extensibility of lifecycle actions, as developers can create their own 'builtin' implementations tailored to their specific requirements.", - MarkdownDescription: "Specifies the name of the predefined action handler to be invoked for lifecycle actions.Lorry, as a sidecar agent co-located with the database container in the same Pod,includes a suite of built-in action implementations that are tailored to different database engines.These are known as 'builtin' handlers, includes: 'mysql', 'redis', 'mongodb', 'etcd','postgresql', 'official-postgresql', 'apecloud-postgresql', 'wesql', 'oceanbase', 'polardbx'.If the 'builtinHandler' field is specified, it instructs Lorry to utilize its internal built-in action handlerto execute the specified lifecycle actions.The 'builtinHandler' field is of type 'BuiltinActionHandlerType',which represents the name of the built-in handler.The 'builtinHandler' specified within the same 'ComponentLifecycleActions' should be consistent across allactions.This means that if you specify a built-in handler for one action, you should use the same handlerfor all other actions throughout the entire 'ComponentLifecycleActions' collection.If you need to define lifecycle actions for database engines not covered by the existing built-in support,or when the pre-existing built-in handlers do not meet your specific needs,you can use the 'customHandler' field to define your own action implementation.Deprecation Notice:- In the future, the 'builtinHandler' field will be deprecated in favor of using the 'customHandler' field for configuring all lifecycle actions.- Instead of using a name to indicate the built-in action implementations in Lorry, the recommended approach will be to explicitly invoke the desired action implementation through a gRPC interface exposed by the sidecar agent.- Developers will have the flexibility to either use the built-in action implementations provided by Lorry or develop their own sidecar agent to implement custom actions and expose them via gRPC interfaces.- This change will allow for greater customization and extensibility of lifecycle actions, as developers can create their own 'builtin' implementations tailored to their specific requirements.", - Required: false, - Optional: true, - Computed: false, - }, - - "custom_handler": schema.SingleNestedAttribute{ - Description: "Specifies a user-defined hook or procedure that is called to perform the specific lifecycle action.It offers a flexible and expandable approach for customizing the behavior of a Component by leveragingtailored actions.An Action can be implemented as either an ExecAction or an HTTPAction, with future versions planningto support GRPCAction,thereby accommodating unique logic for different database systems within the Action's framework.In future iterations, all built-in handlers are expected to transition to GRPCAction.This change means that Lorry or other sidecar agents will expose the implementation of actionsthrough a GRPC interface for external invocation.Then the controller will interact with these actions via GRPCAction calls.", - MarkdownDescription: "Specifies a user-defined hook or procedure that is called to perform the specific lifecycle action.It offers a flexible and expandable approach for customizing the behavior of a Component by leveragingtailored actions.An Action can be implemented as either an ExecAction or an HTTPAction, with future versions planningto support GRPCAction,thereby accommodating unique logic for different database systems within the Action's framework.In future iterations, all built-in handlers are expected to transition to GRPCAction.This change means that Lorry or other sidecar agents will expose the implementation of actionsthrough a GRPC interface for external invocation.Then the controller will interact with these actions via GRPCAction calls.", + "exec": schema.SingleNestedAttribute{ + Description: "Defines the command to run.This field cannot be updated.", + MarkdownDescription: "Defines the command to run.This field cannot be updated.", Attributes: map[string]schema.Attribute{ - "exec": schema.SingleNestedAttribute{ - Description: "Defines the command to run.This field cannot be updated.", - MarkdownDescription: "Defines the command to run.This field cannot be updated.", - Attributes: map[string]schema.Attribute{ - "args": schema.ListAttribute{ - Description: "Args represents the arguments that are passed to the 'command' for execution.", - MarkdownDescription: "Args represents the arguments that are passed to the 'command' for execution.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, + "args": schema.ListAttribute{ + Description: "Args represents the arguments that are passed to the 'command' for execution.", + MarkdownDescription: "Args represents the arguments that are passed to the 'command' for execution.", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, - "command": schema.ListAttribute{ - Description: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", - MarkdownDescription: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, + "command": schema.ListAttribute{ + Description: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", + MarkdownDescription: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, - "container": schema.StringAttribute{ - Description: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - MarkdownDescription: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - Required: false, - Optional: true, - Computed: false, - }, + "container": schema.StringAttribute{ + Description: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + MarkdownDescription: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + Required: false, + Optional: true, + Computed: false, + }, - "env": schema.ListNestedAttribute{ - Description: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", - MarkdownDescription: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", - NestedObject: schema.NestedAttributeObject{ + "env": schema.ListNestedAttribute{ + Description: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", + MarkdownDescription: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "name": schema.StringAttribute{ + Description: "Name of the environment variable. Must be a C_IDENTIFIER.", + MarkdownDescription: "Name of the environment variable. Must be a C_IDENTIFIER.", + Required: true, + Optional: false, + Computed: false, + }, + + "value": schema.StringAttribute{ + Description: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", + MarkdownDescription: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", + Required: false, + Optional: true, + Computed: false, + }, + + "value_from": schema.SingleNestedAttribute{ + Description: "Source for the environment variable's value. Cannot be used if value is not empty.", + MarkdownDescription: "Source for the environment variable's value. Cannot be used if value is not empty.", Attributes: map[string]schema.Attribute{ - "name": schema.StringAttribute{ - Description: "Name of the environment variable. Must be a C_IDENTIFIER.", - MarkdownDescription: "Name of the environment variable. Must be a C_IDENTIFIER.", - Required: true, - Optional: false, - Computed: false, + "config_map_key_ref": schema.SingleNestedAttribute{ + Description: "Selects a key of a ConfigMap.", + MarkdownDescription: "Selects a key of a ConfigMap.", + Attributes: map[string]schema.Attribute{ + "key": schema.StringAttribute{ + Description: "The key to select.", + MarkdownDescription: "The key to select.", + Required: true, + Optional: false, + Computed: false, + }, + + "name": schema.StringAttribute{ + Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Required: false, + Optional: true, + Computed: false, + }, + + "optional": schema.BoolAttribute{ + Description: "Specify whether the ConfigMap or its key must be defined", + MarkdownDescription: "Specify whether the ConfigMap or its key must be defined", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, }, - "value": schema.StringAttribute{ - Description: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", - MarkdownDescription: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", - Required: false, - Optional: true, - Computed: false, + "field_ref": schema.SingleNestedAttribute{ + Description: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", + MarkdownDescription: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", + Attributes: map[string]schema.Attribute{ + "api_version": schema.StringAttribute{ + Description: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", + MarkdownDescription: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", + Required: false, + Optional: true, + Computed: false, + }, + + "field_path": schema.StringAttribute{ + Description: "Path of the field to select in the specified API version.", + MarkdownDescription: "Path of the field to select in the specified API version.", + Required: true, + Optional: false, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, }, - "value_from": schema.SingleNestedAttribute{ - Description: "Source for the environment variable's value. Cannot be used if value is not empty.", - MarkdownDescription: "Source for the environment variable's value. Cannot be used if value is not empty.", + "resource_field_ref": schema.SingleNestedAttribute{ + Description: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", + MarkdownDescription: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", Attributes: map[string]schema.Attribute{ - "config_map_key_ref": schema.SingleNestedAttribute{ - Description: "Selects a key of a ConfigMap.", - MarkdownDescription: "Selects a key of a ConfigMap.", - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "The key to select.", - MarkdownDescription: "The key to select.", - Required: true, - Optional: false, - Computed: false, - }, - - "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - Required: false, - Optional: true, - Computed: false, - }, - - "optional": schema.BoolAttribute{ - Description: "Specify whether the ConfigMap or its key must be defined", - MarkdownDescription: "Specify whether the ConfigMap or its key must be defined", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "container_name": schema.StringAttribute{ + Description: "Container name: required for volumes, optional for env vars", + MarkdownDescription: "Container name: required for volumes, optional for env vars", + Required: false, + Optional: true, + Computed: false, }, - "field_ref": schema.SingleNestedAttribute{ - Description: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", - MarkdownDescription: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", - Attributes: map[string]schema.Attribute{ - "api_version": schema.StringAttribute{ - Description: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", - MarkdownDescription: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", - Required: false, - Optional: true, - Computed: false, - }, - - "field_path": schema.StringAttribute{ - Description: "Path of the field to select in the specified API version.", - MarkdownDescription: "Path of the field to select in the specified API version.", - Required: true, - Optional: false, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "divisor": schema.StringAttribute{ + Description: "Specifies the output format of the exposed resources, defaults to '1'", + MarkdownDescription: "Specifies the output format of the exposed resources, defaults to '1'", + Required: false, + Optional: true, + Computed: false, }, - "resource_field_ref": schema.SingleNestedAttribute{ - Description: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", - MarkdownDescription: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", - Attributes: map[string]schema.Attribute{ - "container_name": schema.StringAttribute{ - Description: "Container name: required for volumes, optional for env vars", - MarkdownDescription: "Container name: required for volumes, optional for env vars", - Required: false, - Optional: true, - Computed: false, - }, - - "divisor": schema.StringAttribute{ - Description: "Specifies the output format of the exposed resources, defaults to '1'", - MarkdownDescription: "Specifies the output format of the exposed resources, defaults to '1'", - Required: false, - Optional: true, - Computed: false, - }, - - "resource": schema.StringAttribute{ - Description: "Required: resource to select", - MarkdownDescription: "Required: resource to select", - Required: true, - Optional: false, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "resource": schema.StringAttribute{ + Description: "Required: resource to select", + MarkdownDescription: "Required: resource to select", + Required: true, + Optional: false, + Computed: false, }, + }, + Required: false, + Optional: true, + Computed: false, + }, - "secret_key_ref": schema.SingleNestedAttribute{ - Description: "Selects a key of a secret in the pod's namespace", - MarkdownDescription: "Selects a key of a secret in the pod's namespace", - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "The key of the secret to select from. Must be a valid secret key.", - MarkdownDescription: "The key of the secret to select from. Must be a valid secret key.", - Required: true, - Optional: false, - Computed: false, - }, + "secret_key_ref": schema.SingleNestedAttribute{ + Description: "Selects a key of a secret in the pod's namespace", + MarkdownDescription: "Selects a key of a secret in the pod's namespace", + Attributes: map[string]schema.Attribute{ + "key": schema.StringAttribute{ + Description: "The key of the secret to select from. Must be a valid secret key.", + MarkdownDescription: "The key of the secret to select from. Must be a valid secret key.", + Required: true, + Optional: false, + Computed: false, + }, - "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - Required: false, - Optional: true, - Computed: false, - }, + "name": schema.StringAttribute{ + Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Required: false, + Optional: true, + Computed: false, + }, - "optional": schema.BoolAttribute{ - Description: "Specify whether the Secret or its key must be defined", - MarkdownDescription: "Specify whether the Secret or its key must be defined", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "optional": schema.BoolAttribute{ + Description: "Specify whether the Secret or its key must be defined", + MarkdownDescription: "Specify whether the Secret or its key must be defined", + Required: false, + Optional: true, + Computed: false, }, }, Required: false, @@ -2979,36 +3412,9 @@ func (r *AppsKubeblocksIoComponentDefinitionV1Alpha1Manifest) Schema(_ context.C Computed: false, }, }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "image": schema.StringAttribute{ - Description: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", - MarkdownDescription: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", - Required: false, - Optional: true, - Computed: false, - }, - - "matching_key": schema.StringAttribute{ - Description: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - MarkdownDescription: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - Required: false, - Optional: true, - Computed: false, - }, - - "target_pod_selector": schema.StringAttribute{ - Description: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - MarkdownDescription: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - Required: false, - Optional: true, - Computed: false, - Validators: []validator.String{ - stringvalidator.OneOf("Any", "All", "Role", "Ordinal"), + Required: false, + Optional: true, + Computed: false, }, }, }, @@ -3017,42 +3423,61 @@ func (r *AppsKubeblocksIoComponentDefinitionV1Alpha1Manifest) Schema(_ context.C Computed: false, }, - "pre_condition": schema.StringAttribute{ - Description: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", - MarkdownDescription: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", + "image": schema.StringAttribute{ + Description: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", + MarkdownDescription: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", Required: false, Optional: true, Computed: false, }, - "retry_policy": schema.SingleNestedAttribute{ - Description: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", - MarkdownDescription: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", - Attributes: map[string]schema.Attribute{ - "max_retries": schema.Int64Attribute{ - Description: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", - MarkdownDescription: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", - Required: false, - Optional: true, - Computed: false, - }, + "matching_key": schema.StringAttribute{ + Description: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + MarkdownDescription: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + Required: false, + Optional: true, + Computed: false, + }, - "retry_interval": schema.Int64Attribute{ - Description: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", - MarkdownDescription: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", - Required: false, - Optional: true, - Computed: false, - }, + "target_pod_selector": schema.StringAttribute{ + Description: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + MarkdownDescription: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + Required: false, + Optional: true, + Computed: false, + Validators: []validator.String{ + stringvalidator.OneOf("Any", "All", "Role", "Ordinal"), }, - Required: false, - Optional: true, - Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "pre_condition": schema.StringAttribute{ + Description: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", + MarkdownDescription: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", + Required: false, + Optional: true, + Computed: false, + }, + + "retry_policy": schema.SingleNestedAttribute{ + Description: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", + MarkdownDescription: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", + Attributes: map[string]schema.Attribute{ + "max_retries": schema.Int64Attribute{ + Description: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", + MarkdownDescription: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", + Required: false, + Optional: true, + Computed: false, }, - "timeout_seconds": schema.Int64Attribute{ - Description: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", - MarkdownDescription: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", + "retry_interval": schema.Int64Attribute{ + Description: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", + MarkdownDescription: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", Required: false, Optional: true, Computed: false, @@ -3062,205 +3487,196 @@ func (r *AppsKubeblocksIoComponentDefinitionV1Alpha1Manifest) Schema(_ context.C Optional: true, Computed: false, }, + + "timeout_seconds": schema.Int64Attribute{ + Description: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", + MarkdownDescription: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", + Required: false, + Optional: true, + Computed: false, + }, }, Required: false, Optional: true, Computed: false, }, - "data_load": schema.SingleNestedAttribute{ - Description: "Defines the procedure for importing data into a replica.Use Case:This action is intended for initializing a newly created replica with data. It involves exporting datafrom an existing replica and importing it into the new, empty replica. This is essential for synchronizingthe state of replicas across the system.Some database engines or associated sidecar applications (e.g., Patroni) may already provide this functionality.In such cases, this action may not be required.Data should be received through stdin. If any error occurs during the process,the action must be able to guarantee idempotence to allow for retries from the beginning.Note: This field is immutable once it has been set.", - MarkdownDescription: "Defines the procedure for importing data into a replica.Use Case:This action is intended for initializing a newly created replica with data. It involves exporting datafrom an existing replica and importing it into the new, empty replica. This is essential for synchronizingthe state of replicas across the system.Some database engines or associated sidecar applications (e.g., Patroni) may already provide this functionality.In such cases, this action may not be required.Data should be received through stdin. If any error occurs during the process,the action must be able to guarantee idempotence to allow for retries from the beginning.Note: This field is immutable once it has been set.", + "member_leave": schema.SingleNestedAttribute{ + Description: "Defines the procedure to remove a replica from the replication group.This action is initiated before remove a replica from the group.The operator will wait for MemberLeave to complete successfully before releasing the replica and cleaning uprelated Kubernetes resources.The process typically includes updating configurations and informing other group members about the removal.Data migration is generally not part of this action and should be handled separately if needed.The container executing this action has access to following variables:- KB_LEAVE_MEMBER_POD_FQDN: The pod name of the replica being removed from the group.- KB_LEAVE_MEMBER_POD_NAME: The pod name of the replica being removed from the group.Expected action output:- On Failure: An error message, if applicable, indicating why the action failed.For example, to remove an OBServer from an OceanBase Cluster in 'zone1', the following command can be executed:'''yamlcommand:- bash- -c- | CLIENT='mysql -u $SERVICE_USER -p$SERVICE_PASSWORD -P $SERVICE_PORT -h $SERVICE_HOST -e' $CLIENT 'ALTER SYSTEM DELETE SERVER '$KB_POD_FQDN:$SERVICE_PORT' ZONE 'zone1'''''Note: This field is immutable once it has been set.", + MarkdownDescription: "Defines the procedure to remove a replica from the replication group.This action is initiated before remove a replica from the group.The operator will wait for MemberLeave to complete successfully before releasing the replica and cleaning uprelated Kubernetes resources.The process typically includes updating configurations and informing other group members about the removal.Data migration is generally not part of this action and should be handled separately if needed.The container executing this action has access to following variables:- KB_LEAVE_MEMBER_POD_FQDN: The pod name of the replica being removed from the group.- KB_LEAVE_MEMBER_POD_NAME: The pod name of the replica being removed from the group.Expected action output:- On Failure: An error message, if applicable, indicating why the action failed.For example, to remove an OBServer from an OceanBase Cluster in 'zone1', the following command can be executed:'''yamlcommand:- bash- -c- | CLIENT='mysql -u $SERVICE_USER -p$SERVICE_PASSWORD -P $SERVICE_PORT -h $SERVICE_HOST -e' $CLIENT 'ALTER SYSTEM DELETE SERVER '$KB_POD_FQDN:$SERVICE_PORT' ZONE 'zone1'''''Note: This field is immutable once it has been set.", Attributes: map[string]schema.Attribute{ - "builtin_handler": schema.StringAttribute{ - Description: "Specifies the name of the predefined action handler to be invoked for lifecycle actions.Lorry, as a sidecar agent co-located with the database container in the same Pod,includes a suite of built-in action implementations that are tailored to different database engines.These are known as 'builtin' handlers, includes: 'mysql', 'redis', 'mongodb', 'etcd','postgresql', 'official-postgresql', 'apecloud-postgresql', 'wesql', 'oceanbase', 'polardbx'.If the 'builtinHandler' field is specified, it instructs Lorry to utilize its internal built-in action handlerto execute the specified lifecycle actions.The 'builtinHandler' field is of type 'BuiltinActionHandlerType',which represents the name of the built-in handler.The 'builtinHandler' specified within the same 'ComponentLifecycleActions' should be consistent across allactions.This means that if you specify a built-in handler for one action, you should use the same handlerfor all other actions throughout the entire 'ComponentLifecycleActions' collection.If you need to define lifecycle actions for database engines not covered by the existing built-in support,or when the pre-existing built-in handlers do not meet your specific needs,you can use the 'customHandler' field to define your own action implementation.Deprecation Notice:- In the future, the 'builtinHandler' field will be deprecated in favor of using the 'customHandler' field for configuring all lifecycle actions.- Instead of using a name to indicate the built-in action implementations in Lorry, the recommended approach will be to explicitly invoke the desired action implementation through a gRPC interface exposed by the sidecar agent.- Developers will have the flexibility to either use the built-in action implementations provided by Lorry or develop their own sidecar agent to implement custom actions and expose them via gRPC interfaces.- This change will allow for greater customization and extensibility of lifecycle actions, as developers can create their own 'builtin' implementations tailored to their specific requirements.", - MarkdownDescription: "Specifies the name of the predefined action handler to be invoked for lifecycle actions.Lorry, as a sidecar agent co-located with the database container in the same Pod,includes a suite of built-in action implementations that are tailored to different database engines.These are known as 'builtin' handlers, includes: 'mysql', 'redis', 'mongodb', 'etcd','postgresql', 'official-postgresql', 'apecloud-postgresql', 'wesql', 'oceanbase', 'polardbx'.If the 'builtinHandler' field is specified, it instructs Lorry to utilize its internal built-in action handlerto execute the specified lifecycle actions.The 'builtinHandler' field is of type 'BuiltinActionHandlerType',which represents the name of the built-in handler.The 'builtinHandler' specified within the same 'ComponentLifecycleActions' should be consistent across allactions.This means that if you specify a built-in handler for one action, you should use the same handlerfor all other actions throughout the entire 'ComponentLifecycleActions' collection.If you need to define lifecycle actions for database engines not covered by the existing built-in support,or when the pre-existing built-in handlers do not meet your specific needs,you can use the 'customHandler' field to define your own action implementation.Deprecation Notice:- In the future, the 'builtinHandler' field will be deprecated in favor of using the 'customHandler' field for configuring all lifecycle actions.- Instead of using a name to indicate the built-in action implementations in Lorry, the recommended approach will be to explicitly invoke the desired action implementation through a gRPC interface exposed by the sidecar agent.- Developers will have the flexibility to either use the built-in action implementations provided by Lorry or develop their own sidecar agent to implement custom actions and expose them via gRPC interfaces.- This change will allow for greater customization and extensibility of lifecycle actions, as developers can create their own 'builtin' implementations tailored to their specific requirements.", - Required: false, - Optional: true, - Computed: false, - }, - - "custom_handler": schema.SingleNestedAttribute{ - Description: "Specifies a user-defined hook or procedure that is called to perform the specific lifecycle action.It offers a flexible and expandable approach for customizing the behavior of a Component by leveragingtailored actions.An Action can be implemented as either an ExecAction or an HTTPAction, with future versions planningto support GRPCAction,thereby accommodating unique logic for different database systems within the Action's framework.In future iterations, all built-in handlers are expected to transition to GRPCAction.This change means that Lorry or other sidecar agents will expose the implementation of actionsthrough a GRPC interface for external invocation.Then the controller will interact with these actions via GRPCAction calls.", - MarkdownDescription: "Specifies a user-defined hook or procedure that is called to perform the specific lifecycle action.It offers a flexible and expandable approach for customizing the behavior of a Component by leveragingtailored actions.An Action can be implemented as either an ExecAction or an HTTPAction, with future versions planningto support GRPCAction,thereby accommodating unique logic for different database systems within the Action's framework.In future iterations, all built-in handlers are expected to transition to GRPCAction.This change means that Lorry or other sidecar agents will expose the implementation of actionsthrough a GRPC interface for external invocation.Then the controller will interact with these actions via GRPCAction calls.", + "exec": schema.SingleNestedAttribute{ + Description: "Defines the command to run.This field cannot be updated.", + MarkdownDescription: "Defines the command to run.This field cannot be updated.", Attributes: map[string]schema.Attribute{ - "exec": schema.SingleNestedAttribute{ - Description: "Defines the command to run.This field cannot be updated.", - MarkdownDescription: "Defines the command to run.This field cannot be updated.", - Attributes: map[string]schema.Attribute{ - "args": schema.ListAttribute{ - Description: "Args represents the arguments that are passed to the 'command' for execution.", - MarkdownDescription: "Args represents the arguments that are passed to the 'command' for execution.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, + "args": schema.ListAttribute{ + Description: "Args represents the arguments that are passed to the 'command' for execution.", + MarkdownDescription: "Args represents the arguments that are passed to the 'command' for execution.", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, - "command": schema.ListAttribute{ - Description: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", - MarkdownDescription: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, + "command": schema.ListAttribute{ + Description: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", + MarkdownDescription: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, - "container": schema.StringAttribute{ - Description: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - MarkdownDescription: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - Required: false, - Optional: true, - Computed: false, - }, + "container": schema.StringAttribute{ + Description: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + MarkdownDescription: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + Required: false, + Optional: true, + Computed: false, + }, - "env": schema.ListNestedAttribute{ - Description: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", - MarkdownDescription: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "name": schema.StringAttribute{ - Description: "Name of the environment variable. Must be a C_IDENTIFIER.", - MarkdownDescription: "Name of the environment variable. Must be a C_IDENTIFIER.", - Required: true, - Optional: false, - Computed: false, - }, + "env": schema.ListNestedAttribute{ + Description: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", + MarkdownDescription: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "name": schema.StringAttribute{ + Description: "Name of the environment variable. Must be a C_IDENTIFIER.", + MarkdownDescription: "Name of the environment variable. Must be a C_IDENTIFIER.", + Required: true, + Optional: false, + Computed: false, + }, - "value": schema.StringAttribute{ - Description: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", - MarkdownDescription: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", - Required: false, - Optional: true, - Computed: false, - }, + "value": schema.StringAttribute{ + Description: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", + MarkdownDescription: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", + Required: false, + Optional: true, + Computed: false, + }, - "value_from": schema.SingleNestedAttribute{ - Description: "Source for the environment variable's value. Cannot be used if value is not empty.", - MarkdownDescription: "Source for the environment variable's value. Cannot be used if value is not empty.", + "value_from": schema.SingleNestedAttribute{ + Description: "Source for the environment variable's value. Cannot be used if value is not empty.", + MarkdownDescription: "Source for the environment variable's value. Cannot be used if value is not empty.", + Attributes: map[string]schema.Attribute{ + "config_map_key_ref": schema.SingleNestedAttribute{ + Description: "Selects a key of a ConfigMap.", + MarkdownDescription: "Selects a key of a ConfigMap.", Attributes: map[string]schema.Attribute{ - "config_map_key_ref": schema.SingleNestedAttribute{ - Description: "Selects a key of a ConfigMap.", - MarkdownDescription: "Selects a key of a ConfigMap.", - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "The key to select.", - MarkdownDescription: "The key to select.", - Required: true, - Optional: false, - Computed: false, - }, + "key": schema.StringAttribute{ + Description: "The key to select.", + MarkdownDescription: "The key to select.", + Required: true, + Optional: false, + Computed: false, + }, - "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - Required: false, - Optional: true, - Computed: false, - }, + "name": schema.StringAttribute{ + Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Required: false, + Optional: true, + Computed: false, + }, - "optional": schema.BoolAttribute{ - Description: "Specify whether the ConfigMap or its key must be defined", - MarkdownDescription: "Specify whether the ConfigMap or its key must be defined", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "optional": schema.BoolAttribute{ + Description: "Specify whether the ConfigMap or its key must be defined", + MarkdownDescription: "Specify whether the ConfigMap or its key must be defined", + Required: false, + Optional: true, + Computed: false, }, + }, + Required: false, + Optional: true, + Computed: false, + }, - "field_ref": schema.SingleNestedAttribute{ - Description: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", - MarkdownDescription: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", - Attributes: map[string]schema.Attribute{ - "api_version": schema.StringAttribute{ - Description: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", - MarkdownDescription: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", - Required: false, - Optional: true, - Computed: false, - }, + "field_ref": schema.SingleNestedAttribute{ + Description: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", + MarkdownDescription: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", + Attributes: map[string]schema.Attribute{ + "api_version": schema.StringAttribute{ + Description: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", + MarkdownDescription: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", + Required: false, + Optional: true, + Computed: false, + }, - "field_path": schema.StringAttribute{ - Description: "Path of the field to select in the specified API version.", - MarkdownDescription: "Path of the field to select in the specified API version.", - Required: true, - Optional: false, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "field_path": schema.StringAttribute{ + Description: "Path of the field to select in the specified API version.", + MarkdownDescription: "Path of the field to select in the specified API version.", + Required: true, + Optional: false, + Computed: false, }, + }, + Required: false, + Optional: true, + Computed: false, + }, - "resource_field_ref": schema.SingleNestedAttribute{ - Description: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", - MarkdownDescription: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", - Attributes: map[string]schema.Attribute{ - "container_name": schema.StringAttribute{ - Description: "Container name: required for volumes, optional for env vars", - MarkdownDescription: "Container name: required for volumes, optional for env vars", - Required: false, - Optional: true, - Computed: false, - }, + "resource_field_ref": schema.SingleNestedAttribute{ + Description: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", + MarkdownDescription: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", + Attributes: map[string]schema.Attribute{ + "container_name": schema.StringAttribute{ + Description: "Container name: required for volumes, optional for env vars", + MarkdownDescription: "Container name: required for volumes, optional for env vars", + Required: false, + Optional: true, + Computed: false, + }, - "divisor": schema.StringAttribute{ - Description: "Specifies the output format of the exposed resources, defaults to '1'", - MarkdownDescription: "Specifies the output format of the exposed resources, defaults to '1'", - Required: false, - Optional: true, - Computed: false, - }, + "divisor": schema.StringAttribute{ + Description: "Specifies the output format of the exposed resources, defaults to '1'", + MarkdownDescription: "Specifies the output format of the exposed resources, defaults to '1'", + Required: false, + Optional: true, + Computed: false, + }, - "resource": schema.StringAttribute{ - Description: "Required: resource to select", - MarkdownDescription: "Required: resource to select", - Required: true, - Optional: false, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "resource": schema.StringAttribute{ + Description: "Required: resource to select", + MarkdownDescription: "Required: resource to select", + Required: true, + Optional: false, + Computed: false, }, + }, + Required: false, + Optional: true, + Computed: false, + }, - "secret_key_ref": schema.SingleNestedAttribute{ - Description: "Selects a key of a secret in the pod's namespace", - MarkdownDescription: "Selects a key of a secret in the pod's namespace", - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "The key of the secret to select from. Must be a valid secret key.", - MarkdownDescription: "The key of the secret to select from. Must be a valid secret key.", - Required: true, - Optional: false, - Computed: false, - }, + "secret_key_ref": schema.SingleNestedAttribute{ + Description: "Selects a key of a secret in the pod's namespace", + MarkdownDescription: "Selects a key of a secret in the pod's namespace", + Attributes: map[string]schema.Attribute{ + "key": schema.StringAttribute{ + Description: "The key of the secret to select from. Must be a valid secret key.", + MarkdownDescription: "The key of the secret to select from. Must be a valid secret key.", + Required: true, + Optional: false, + Computed: false, + }, - "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - Required: false, - Optional: true, - Computed: false, - }, + "name": schema.StringAttribute{ + Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Required: false, + Optional: true, + Computed: false, + }, - "optional": schema.BoolAttribute{ - Description: "Specify whether the Secret or its key must be defined", - MarkdownDescription: "Specify whether the Secret or its key must be defined", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "optional": schema.BoolAttribute{ + Description: "Specify whether the Secret or its key must be defined", + MarkdownDescription: "Specify whether the Secret or its key must be defined", + Required: false, + Optional: true, + Computed: false, }, }, Required: false, @@ -3268,36 +3684,9 @@ func (r *AppsKubeblocksIoComponentDefinitionV1Alpha1Manifest) Schema(_ context.C Computed: false, }, }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "image": schema.StringAttribute{ - Description: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", - MarkdownDescription: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", - Required: false, - Optional: true, - Computed: false, - }, - - "matching_key": schema.StringAttribute{ - Description: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - MarkdownDescription: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - Required: false, - Optional: true, - Computed: false, - }, - - "target_pod_selector": schema.StringAttribute{ - Description: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - MarkdownDescription: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - Required: false, - Optional: true, - Computed: false, - Validators: []validator.String{ - stringvalidator.OneOf("Any", "All", "Role", "Ordinal"), + Required: false, + Optional: true, + Computed: false, }, }, }, @@ -3306,42 +3695,61 @@ func (r *AppsKubeblocksIoComponentDefinitionV1Alpha1Manifest) Schema(_ context.C Computed: false, }, - "pre_condition": schema.StringAttribute{ - Description: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", - MarkdownDescription: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", + "image": schema.StringAttribute{ + Description: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", + MarkdownDescription: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", + Required: false, + Optional: true, + Computed: false, + }, + + "matching_key": schema.StringAttribute{ + Description: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + MarkdownDescription: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + Required: false, + Optional: true, + Computed: false, + }, + + "target_pod_selector": schema.StringAttribute{ + Description: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + MarkdownDescription: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", Required: false, Optional: true, Computed: false, + Validators: []validator.String{ + stringvalidator.OneOf("Any", "All", "Role", "Ordinal"), + }, }, + }, + Required: false, + Optional: true, + Computed: false, + }, - "retry_policy": schema.SingleNestedAttribute{ - Description: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", - MarkdownDescription: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", - Attributes: map[string]schema.Attribute{ - "max_retries": schema.Int64Attribute{ - Description: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", - MarkdownDescription: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", - Required: false, - Optional: true, - Computed: false, - }, + "pre_condition": schema.StringAttribute{ + Description: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", + MarkdownDescription: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", + Required: false, + Optional: true, + Computed: false, + }, - "retry_interval": schema.Int64Attribute{ - Description: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", - MarkdownDescription: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "retry_policy": schema.SingleNestedAttribute{ + Description: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", + MarkdownDescription: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", + Attributes: map[string]schema.Attribute{ + "max_retries": schema.Int64Attribute{ + Description: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", + MarkdownDescription: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", + Required: false, + Optional: true, + Computed: false, }, - "timeout_seconds": schema.Int64Attribute{ - Description: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", - MarkdownDescription: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", + "retry_interval": schema.Int64Attribute{ + Description: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", + MarkdownDescription: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", Required: false, Optional: true, Computed: false, @@ -3351,205 +3759,196 @@ func (r *AppsKubeblocksIoComponentDefinitionV1Alpha1Manifest) Schema(_ context.C Optional: true, Computed: false, }, + + "timeout_seconds": schema.Int64Attribute{ + Description: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", + MarkdownDescription: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", + Required: false, + Optional: true, + Computed: false, + }, }, Required: false, Optional: true, Computed: false, }, - "member_join": schema.SingleNestedAttribute{ - Description: "Defines the procedure to add a new replica to the replication group.This action is initiated after a replica pod becomes ready.The role of the replica (e.g., primary, secondary) will be determined and assigned as part of the action commandimplementation, or automatically by the database kernel or a sidecar utility like Patroni that implementsa consensus algorithm.The container executing this action has access to following environment variables:- KB_SERVICE_PORT: The port used by the database service.- KB_SERVICE_USER: The username with the necessary permissions to interact with the database service.- KB_SERVICE_PASSWORD: The corresponding password for KB_SERVICE_USER to authenticate with the database service.- KB_PRIMARY_POD_FQDN: The FQDN of the primary Pod within the replication group.- KB_MEMBER_ADDRESSES: A comma-separated list of Pod addresses for all replicas in the group.- KB_NEW_MEMBER_POD_NAME: The pod name of the replica being added to the group.- KB_NEW_MEMBER_POD_IP: The IP address of the replica being added to the group.Expected action output:- On Failure: An error message detailing the reason for any failure encountered during the addition of the new member.For example, to add a new OBServer to an OceanBase Cluster in 'zone1', the following command may be used:'''yamlcommand:- bash- -c- | ADDRESS=$(KB_MEMBER_ADDRESSES%%,*) HOST=$(echo $ADDRESS | cut -d ':' -f 1) PORT=$(echo $ADDRESS | cut -d ':' -f 2) CLIENT='mysql -u $KB_SERVICE_USER -p$KB_SERVICE_PASSWORD -P $PORT -h $HOST -e' $CLIENT 'ALTER SYSTEM ADD SERVER '$KB_NEW_MEMBER_POD_IP:$KB_SERVICE_PORT' ZONE 'zone1'''''Note: This field is immutable once it has been set.", - MarkdownDescription: "Defines the procedure to add a new replica to the replication group.This action is initiated after a replica pod becomes ready.The role of the replica (e.g., primary, secondary) will be determined and assigned as part of the action commandimplementation, or automatically by the database kernel or a sidecar utility like Patroni that implementsa consensus algorithm.The container executing this action has access to following environment variables:- KB_SERVICE_PORT: The port used by the database service.- KB_SERVICE_USER: The username with the necessary permissions to interact with the database service.- KB_SERVICE_PASSWORD: The corresponding password for KB_SERVICE_USER to authenticate with the database service.- KB_PRIMARY_POD_FQDN: The FQDN of the primary Pod within the replication group.- KB_MEMBER_ADDRESSES: A comma-separated list of Pod addresses for all replicas in the group.- KB_NEW_MEMBER_POD_NAME: The pod name of the replica being added to the group.- KB_NEW_MEMBER_POD_IP: The IP address of the replica being added to the group.Expected action output:- On Failure: An error message detailing the reason for any failure encountered during the addition of the new member.For example, to add a new OBServer to an OceanBase Cluster in 'zone1', the following command may be used:'''yamlcommand:- bash- -c- | ADDRESS=$(KB_MEMBER_ADDRESSES%%,*) HOST=$(echo $ADDRESS | cut -d ':' -f 1) PORT=$(echo $ADDRESS | cut -d ':' -f 2) CLIENT='mysql -u $KB_SERVICE_USER -p$KB_SERVICE_PASSWORD -P $PORT -h $HOST -e' $CLIENT 'ALTER SYSTEM ADD SERVER '$KB_NEW_MEMBER_POD_IP:$KB_SERVICE_PORT' ZONE 'zone1'''''Note: This field is immutable once it has been set.", + "post_provision": schema.SingleNestedAttribute{ + Description: "Specifies the hook to be executed after a component's creation.By setting 'postProvision.customHandler.preCondition', you can determine the specific lifecycle stageat which the action should trigger: 'Immediately', 'RuntimeReady', 'ComponentReady', and 'ClusterReady'.with 'ComponentReady' being the default.The PostProvision Action is intended to run only once.The container executing this action has access to following environment variables:- KB_CLUSTER_POD_IP_LIST: Comma-separated list of the cluster's pod IP addresses (e.g., 'podIp1,podIp2').- KB_CLUSTER_POD_NAME_LIST: Comma-separated list of the cluster's pod names (e.g., 'pod1,pod2').- KB_CLUSTER_POD_HOST_NAME_LIST: Comma-separated list of host names, each corresponding to a pod in KB_CLUSTER_POD_NAME_LIST (e.g., 'hostName1,hostName2').- KB_CLUSTER_POD_HOST_IP_LIST: Comma-separated list of host IP addresses, each corresponding to a pod in KB_CLUSTER_POD_NAME_LIST (e.g., 'hostIp1,hostIp2').- KB_CLUSTER_COMPONENT_POD_NAME_LIST: Comma-separated list of all pod names within the component (e.g., 'pod1,pod2').- KB_CLUSTER_COMPONENT_POD_IP_LIST: Comma-separated list of pod IP addresses, matching the order of pods in KB_CLUSTER_COMPONENT_POD_NAME_LIST (e.g., 'podIp1,podIp2').- KB_CLUSTER_COMPONENT_POD_HOST_NAME_LIST: Comma-separated list of host names for each pod, matching the order of pods in KB_CLUSTER_COMPONENT_POD_NAME_LIST (e.g., 'hostName1,hostName2').- KB_CLUSTER_COMPONENT_POD_HOST_IP_LIST: Comma-separated list of host IP addresses for each pod, matching the order of pods in KB_CLUSTER_COMPONENT_POD_NAME_LIST (e.g., 'hostIp1,hostIp2').- KB_CLUSTER_COMPONENT_LIST: Comma-separated list of all cluster components (e.g., 'comp1,comp2').- KB_CLUSTER_COMPONENT_DELETING_LIST: Comma-separated list of components that are currently being deleted (e.g., 'comp1,comp2').- KB_CLUSTER_COMPONENT_UNDELETED_LIST: Comma-separated list of components that are not being deleted (e.g., 'comp1,comp2').Note: This field is immutable once it has been set.", + MarkdownDescription: "Specifies the hook to be executed after a component's creation.By setting 'postProvision.customHandler.preCondition', you can determine the specific lifecycle stageat which the action should trigger: 'Immediately', 'RuntimeReady', 'ComponentReady', and 'ClusterReady'.with 'ComponentReady' being the default.The PostProvision Action is intended to run only once.The container executing this action has access to following environment variables:- KB_CLUSTER_POD_IP_LIST: Comma-separated list of the cluster's pod IP addresses (e.g., 'podIp1,podIp2').- KB_CLUSTER_POD_NAME_LIST: Comma-separated list of the cluster's pod names (e.g., 'pod1,pod2').- KB_CLUSTER_POD_HOST_NAME_LIST: Comma-separated list of host names, each corresponding to a pod in KB_CLUSTER_POD_NAME_LIST (e.g., 'hostName1,hostName2').- KB_CLUSTER_POD_HOST_IP_LIST: Comma-separated list of host IP addresses, each corresponding to a pod in KB_CLUSTER_POD_NAME_LIST (e.g., 'hostIp1,hostIp2').- KB_CLUSTER_COMPONENT_POD_NAME_LIST: Comma-separated list of all pod names within the component (e.g., 'pod1,pod2').- KB_CLUSTER_COMPONENT_POD_IP_LIST: Comma-separated list of pod IP addresses, matching the order of pods in KB_CLUSTER_COMPONENT_POD_NAME_LIST (e.g., 'podIp1,podIp2').- KB_CLUSTER_COMPONENT_POD_HOST_NAME_LIST: Comma-separated list of host names for each pod, matching the order of pods in KB_CLUSTER_COMPONENT_POD_NAME_LIST (e.g., 'hostName1,hostName2').- KB_CLUSTER_COMPONENT_POD_HOST_IP_LIST: Comma-separated list of host IP addresses for each pod, matching the order of pods in KB_CLUSTER_COMPONENT_POD_NAME_LIST (e.g., 'hostIp1,hostIp2').- KB_CLUSTER_COMPONENT_LIST: Comma-separated list of all cluster components (e.g., 'comp1,comp2').- KB_CLUSTER_COMPONENT_DELETING_LIST: Comma-separated list of components that are currently being deleted (e.g., 'comp1,comp2').- KB_CLUSTER_COMPONENT_UNDELETED_LIST: Comma-separated list of components that are not being deleted (e.g., 'comp1,comp2').Note: This field is immutable once it has been set.", Attributes: map[string]schema.Attribute{ - "builtin_handler": schema.StringAttribute{ - Description: "Specifies the name of the predefined action handler to be invoked for lifecycle actions.Lorry, as a sidecar agent co-located with the database container in the same Pod,includes a suite of built-in action implementations that are tailored to different database engines.These are known as 'builtin' handlers, includes: 'mysql', 'redis', 'mongodb', 'etcd','postgresql', 'official-postgresql', 'apecloud-postgresql', 'wesql', 'oceanbase', 'polardbx'.If the 'builtinHandler' field is specified, it instructs Lorry to utilize its internal built-in action handlerto execute the specified lifecycle actions.The 'builtinHandler' field is of type 'BuiltinActionHandlerType',which represents the name of the built-in handler.The 'builtinHandler' specified within the same 'ComponentLifecycleActions' should be consistent across allactions.This means that if you specify a built-in handler for one action, you should use the same handlerfor all other actions throughout the entire 'ComponentLifecycleActions' collection.If you need to define lifecycle actions for database engines not covered by the existing built-in support,or when the pre-existing built-in handlers do not meet your specific needs,you can use the 'customHandler' field to define your own action implementation.Deprecation Notice:- In the future, the 'builtinHandler' field will be deprecated in favor of using the 'customHandler' field for configuring all lifecycle actions.- Instead of using a name to indicate the built-in action implementations in Lorry, the recommended approach will be to explicitly invoke the desired action implementation through a gRPC interface exposed by the sidecar agent.- Developers will have the flexibility to either use the built-in action implementations provided by Lorry or develop their own sidecar agent to implement custom actions and expose them via gRPC interfaces.- This change will allow for greater customization and extensibility of lifecycle actions, as developers can create their own 'builtin' implementations tailored to their specific requirements.", - MarkdownDescription: "Specifies the name of the predefined action handler to be invoked for lifecycle actions.Lorry, as a sidecar agent co-located with the database container in the same Pod,includes a suite of built-in action implementations that are tailored to different database engines.These are known as 'builtin' handlers, includes: 'mysql', 'redis', 'mongodb', 'etcd','postgresql', 'official-postgresql', 'apecloud-postgresql', 'wesql', 'oceanbase', 'polardbx'.If the 'builtinHandler' field is specified, it instructs Lorry to utilize its internal built-in action handlerto execute the specified lifecycle actions.The 'builtinHandler' field is of type 'BuiltinActionHandlerType',which represents the name of the built-in handler.The 'builtinHandler' specified within the same 'ComponentLifecycleActions' should be consistent across allactions.This means that if you specify a built-in handler for one action, you should use the same handlerfor all other actions throughout the entire 'ComponentLifecycleActions' collection.If you need to define lifecycle actions for database engines not covered by the existing built-in support,or when the pre-existing built-in handlers do not meet your specific needs,you can use the 'customHandler' field to define your own action implementation.Deprecation Notice:- In the future, the 'builtinHandler' field will be deprecated in favor of using the 'customHandler' field for configuring all lifecycle actions.- Instead of using a name to indicate the built-in action implementations in Lorry, the recommended approach will be to explicitly invoke the desired action implementation through a gRPC interface exposed by the sidecar agent.- Developers will have the flexibility to either use the built-in action implementations provided by Lorry or develop their own sidecar agent to implement custom actions and expose them via gRPC interfaces.- This change will allow for greater customization and extensibility of lifecycle actions, as developers can create their own 'builtin' implementations tailored to their specific requirements.", - Required: false, - Optional: true, - Computed: false, - }, - - "custom_handler": schema.SingleNestedAttribute{ - Description: "Specifies a user-defined hook or procedure that is called to perform the specific lifecycle action.It offers a flexible and expandable approach for customizing the behavior of a Component by leveragingtailored actions.An Action can be implemented as either an ExecAction or an HTTPAction, with future versions planningto support GRPCAction,thereby accommodating unique logic for different database systems within the Action's framework.In future iterations, all built-in handlers are expected to transition to GRPCAction.This change means that Lorry or other sidecar agents will expose the implementation of actionsthrough a GRPC interface for external invocation.Then the controller will interact with these actions via GRPCAction calls.", - MarkdownDescription: "Specifies a user-defined hook or procedure that is called to perform the specific lifecycle action.It offers a flexible and expandable approach for customizing the behavior of a Component by leveragingtailored actions.An Action can be implemented as either an ExecAction or an HTTPAction, with future versions planningto support GRPCAction,thereby accommodating unique logic for different database systems within the Action's framework.In future iterations, all built-in handlers are expected to transition to GRPCAction.This change means that Lorry or other sidecar agents will expose the implementation of actionsthrough a GRPC interface for external invocation.Then the controller will interact with these actions via GRPCAction calls.", + "exec": schema.SingleNestedAttribute{ + Description: "Defines the command to run.This field cannot be updated.", + MarkdownDescription: "Defines the command to run.This field cannot be updated.", Attributes: map[string]schema.Attribute{ - "exec": schema.SingleNestedAttribute{ - Description: "Defines the command to run.This field cannot be updated.", - MarkdownDescription: "Defines the command to run.This field cannot be updated.", - Attributes: map[string]schema.Attribute{ - "args": schema.ListAttribute{ - Description: "Args represents the arguments that are passed to the 'command' for execution.", - MarkdownDescription: "Args represents the arguments that are passed to the 'command' for execution.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, + "args": schema.ListAttribute{ + Description: "Args represents the arguments that are passed to the 'command' for execution.", + MarkdownDescription: "Args represents the arguments that are passed to the 'command' for execution.", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, - "command": schema.ListAttribute{ - Description: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", - MarkdownDescription: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, + "command": schema.ListAttribute{ + Description: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", + MarkdownDescription: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, - "container": schema.StringAttribute{ - Description: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - MarkdownDescription: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - Required: false, - Optional: true, - Computed: false, - }, + "container": schema.StringAttribute{ + Description: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + MarkdownDescription: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + Required: false, + Optional: true, + Computed: false, + }, - "env": schema.ListNestedAttribute{ - Description: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", - MarkdownDescription: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "name": schema.StringAttribute{ - Description: "Name of the environment variable. Must be a C_IDENTIFIER.", - MarkdownDescription: "Name of the environment variable. Must be a C_IDENTIFIER.", - Required: true, - Optional: false, - Computed: false, - }, + "env": schema.ListNestedAttribute{ + Description: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", + MarkdownDescription: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "name": schema.StringAttribute{ + Description: "Name of the environment variable. Must be a C_IDENTIFIER.", + MarkdownDescription: "Name of the environment variable. Must be a C_IDENTIFIER.", + Required: true, + Optional: false, + Computed: false, + }, - "value": schema.StringAttribute{ - Description: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", - MarkdownDescription: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", - Required: false, - Optional: true, - Computed: false, - }, + "value": schema.StringAttribute{ + Description: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", + MarkdownDescription: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", + Required: false, + Optional: true, + Computed: false, + }, - "value_from": schema.SingleNestedAttribute{ - Description: "Source for the environment variable's value. Cannot be used if value is not empty.", - MarkdownDescription: "Source for the environment variable's value. Cannot be used if value is not empty.", + "value_from": schema.SingleNestedAttribute{ + Description: "Source for the environment variable's value. Cannot be used if value is not empty.", + MarkdownDescription: "Source for the environment variable's value. Cannot be used if value is not empty.", + Attributes: map[string]schema.Attribute{ + "config_map_key_ref": schema.SingleNestedAttribute{ + Description: "Selects a key of a ConfigMap.", + MarkdownDescription: "Selects a key of a ConfigMap.", Attributes: map[string]schema.Attribute{ - "config_map_key_ref": schema.SingleNestedAttribute{ - Description: "Selects a key of a ConfigMap.", - MarkdownDescription: "Selects a key of a ConfigMap.", - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "The key to select.", - MarkdownDescription: "The key to select.", - Required: true, - Optional: false, - Computed: false, - }, + "key": schema.StringAttribute{ + Description: "The key to select.", + MarkdownDescription: "The key to select.", + Required: true, + Optional: false, + Computed: false, + }, - "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - Required: false, - Optional: true, - Computed: false, - }, + "name": schema.StringAttribute{ + Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Required: false, + Optional: true, + Computed: false, + }, - "optional": schema.BoolAttribute{ - Description: "Specify whether the ConfigMap or its key must be defined", - MarkdownDescription: "Specify whether the ConfigMap or its key must be defined", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "optional": schema.BoolAttribute{ + Description: "Specify whether the ConfigMap or its key must be defined", + MarkdownDescription: "Specify whether the ConfigMap or its key must be defined", + Required: false, + Optional: true, + Computed: false, }, + }, + Required: false, + Optional: true, + Computed: false, + }, - "field_ref": schema.SingleNestedAttribute{ - Description: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", - MarkdownDescription: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", - Attributes: map[string]schema.Attribute{ - "api_version": schema.StringAttribute{ - Description: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", - MarkdownDescription: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", - Required: false, - Optional: true, - Computed: false, - }, + "field_ref": schema.SingleNestedAttribute{ + Description: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", + MarkdownDescription: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", + Attributes: map[string]schema.Attribute{ + "api_version": schema.StringAttribute{ + Description: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", + MarkdownDescription: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", + Required: false, + Optional: true, + Computed: false, + }, - "field_path": schema.StringAttribute{ - Description: "Path of the field to select in the specified API version.", - MarkdownDescription: "Path of the field to select in the specified API version.", - Required: true, - Optional: false, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "field_path": schema.StringAttribute{ + Description: "Path of the field to select in the specified API version.", + MarkdownDescription: "Path of the field to select in the specified API version.", + Required: true, + Optional: false, + Computed: false, }, + }, + Required: false, + Optional: true, + Computed: false, + }, - "resource_field_ref": schema.SingleNestedAttribute{ - Description: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", - MarkdownDescription: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", - Attributes: map[string]schema.Attribute{ - "container_name": schema.StringAttribute{ - Description: "Container name: required for volumes, optional for env vars", - MarkdownDescription: "Container name: required for volumes, optional for env vars", - Required: false, - Optional: true, - Computed: false, - }, + "resource_field_ref": schema.SingleNestedAttribute{ + Description: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", + MarkdownDescription: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", + Attributes: map[string]schema.Attribute{ + "container_name": schema.StringAttribute{ + Description: "Container name: required for volumes, optional for env vars", + MarkdownDescription: "Container name: required for volumes, optional for env vars", + Required: false, + Optional: true, + Computed: false, + }, - "divisor": schema.StringAttribute{ - Description: "Specifies the output format of the exposed resources, defaults to '1'", - MarkdownDescription: "Specifies the output format of the exposed resources, defaults to '1'", - Required: false, - Optional: true, - Computed: false, - }, + "divisor": schema.StringAttribute{ + Description: "Specifies the output format of the exposed resources, defaults to '1'", + MarkdownDescription: "Specifies the output format of the exposed resources, defaults to '1'", + Required: false, + Optional: true, + Computed: false, + }, - "resource": schema.StringAttribute{ - Description: "Required: resource to select", - MarkdownDescription: "Required: resource to select", - Required: true, - Optional: false, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "resource": schema.StringAttribute{ + Description: "Required: resource to select", + MarkdownDescription: "Required: resource to select", + Required: true, + Optional: false, + Computed: false, }, + }, + Required: false, + Optional: true, + Computed: false, + }, - "secret_key_ref": schema.SingleNestedAttribute{ - Description: "Selects a key of a secret in the pod's namespace", - MarkdownDescription: "Selects a key of a secret in the pod's namespace", - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "The key of the secret to select from. Must be a valid secret key.", - MarkdownDescription: "The key of the secret to select from. Must be a valid secret key.", - Required: true, - Optional: false, - Computed: false, - }, + "secret_key_ref": schema.SingleNestedAttribute{ + Description: "Selects a key of a secret in the pod's namespace", + MarkdownDescription: "Selects a key of a secret in the pod's namespace", + Attributes: map[string]schema.Attribute{ + "key": schema.StringAttribute{ + Description: "The key of the secret to select from. Must be a valid secret key.", + MarkdownDescription: "The key of the secret to select from. Must be a valid secret key.", + Required: true, + Optional: false, + Computed: false, + }, - "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - Required: false, - Optional: true, - Computed: false, - }, + "name": schema.StringAttribute{ + Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Required: false, + Optional: true, + Computed: false, + }, - "optional": schema.BoolAttribute{ - Description: "Specify whether the Secret or its key must be defined", - MarkdownDescription: "Specify whether the Secret or its key must be defined", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "optional": schema.BoolAttribute{ + Description: "Specify whether the Secret or its key must be defined", + MarkdownDescription: "Specify whether the Secret or its key must be defined", + Required: false, + Optional: true, + Computed: false, }, }, Required: false, @@ -3557,36 +3956,9 @@ func (r *AppsKubeblocksIoComponentDefinitionV1Alpha1Manifest) Schema(_ context.C Computed: false, }, }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "image": schema.StringAttribute{ - Description: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", - MarkdownDescription: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", - Required: false, - Optional: true, - Computed: false, - }, - - "matching_key": schema.StringAttribute{ - Description: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - MarkdownDescription: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - Required: false, - Optional: true, - Computed: false, - }, - - "target_pod_selector": schema.StringAttribute{ - Description: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - MarkdownDescription: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - Required: false, - Optional: true, - Computed: false, - Validators: []validator.String{ - stringvalidator.OneOf("Any", "All", "Role", "Ordinal"), + Required: false, + Optional: true, + Computed: false, }, }, }, @@ -3595,42 +3967,61 @@ func (r *AppsKubeblocksIoComponentDefinitionV1Alpha1Manifest) Schema(_ context.C Computed: false, }, - "pre_condition": schema.StringAttribute{ - Description: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", - MarkdownDescription: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", + "image": schema.StringAttribute{ + Description: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", + MarkdownDescription: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", Required: false, Optional: true, Computed: false, }, - "retry_policy": schema.SingleNestedAttribute{ - Description: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", - MarkdownDescription: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", - Attributes: map[string]schema.Attribute{ - "max_retries": schema.Int64Attribute{ - Description: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", - MarkdownDescription: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", - Required: false, - Optional: true, - Computed: false, - }, + "matching_key": schema.StringAttribute{ + Description: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + MarkdownDescription: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + Required: false, + Optional: true, + Computed: false, + }, - "retry_interval": schema.Int64Attribute{ - Description: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", - MarkdownDescription: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", - Required: false, - Optional: true, - Computed: false, - }, + "target_pod_selector": schema.StringAttribute{ + Description: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + MarkdownDescription: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + Required: false, + Optional: true, + Computed: false, + Validators: []validator.String{ + stringvalidator.OneOf("Any", "All", "Role", "Ordinal"), }, - Required: false, - Optional: true, - Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "pre_condition": schema.StringAttribute{ + Description: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", + MarkdownDescription: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", + Required: false, + Optional: true, + Computed: false, + }, + + "retry_policy": schema.SingleNestedAttribute{ + Description: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", + MarkdownDescription: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", + Attributes: map[string]schema.Attribute{ + "max_retries": schema.Int64Attribute{ + Description: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", + MarkdownDescription: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", + Required: false, + Optional: true, + Computed: false, }, - "timeout_seconds": schema.Int64Attribute{ - Description: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", - MarkdownDescription: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", + "retry_interval": schema.Int64Attribute{ + Description: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", + MarkdownDescription: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", Required: false, Optional: true, Computed: false, @@ -3640,205 +4031,196 @@ func (r *AppsKubeblocksIoComponentDefinitionV1Alpha1Manifest) Schema(_ context.C Optional: true, Computed: false, }, + + "timeout_seconds": schema.Int64Attribute{ + Description: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", + MarkdownDescription: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", + Required: false, + Optional: true, + Computed: false, + }, }, Required: false, Optional: true, Computed: false, }, - "member_leave": schema.SingleNestedAttribute{ - Description: "Defines the procedure to remove a replica from the replication group.This action is initiated before remove a replica from the group.The operator will wait for MemberLeave to complete successfully before releasing the replica and cleaning uprelated Kubernetes resources.The process typically includes updating configurations and informing other group members about the removal.Data migration is generally not part of this action and should be handled separately if needed.The container executing this action has access to following environment variables:- KB_SERVICE_PORT: The port used by the database service.- KB_SERVICE_USER: The username with the necessary permissions to interact with the database service.- KB_SERVICE_PASSWORD: The corresponding password for KB_SERVICE_USER to authenticate with the database service.- KB_PRIMARY_POD_FQDN: The FQDN of the primary Pod within the replication group.- KB_MEMBER_ADDRESSES: A comma-separated list of Pod addresses for all replicas in the group.- KB_LEAVE_MEMBER_POD_NAME: The pod name of the replica being removed from the group.- KB_LEAVE_MEMBER_POD_IP: The IP address of the replica being removed from the group.Expected action output:- On Failure: An error message, if applicable, indicating why the action failed.For example, to remove an OBServer from an OceanBase Cluster in 'zone1', the following command can be executed:'''yamlcommand:- bash- -c- | ADDRESS=$(KB_MEMBER_ADDRESSES%%,*) HOST=$(echo $ADDRESS | cut -d ':' -f 1) PORT=$(echo $ADDRESS | cut -d ':' -f 2) CLIENT='mysql -u $KB_SERVICE_USER -p$KB_SERVICE_PASSWORD -P $PORT -h $HOST -e' $CLIENT 'ALTER SYSTEM DELETE SERVER '$KB_LEAVE_MEMBER_POD_IP:$KB_SERVICE_PORT' ZONE 'zone1'''''Note: This field is immutable once it has been set.", - MarkdownDescription: "Defines the procedure to remove a replica from the replication group.This action is initiated before remove a replica from the group.The operator will wait for MemberLeave to complete successfully before releasing the replica and cleaning uprelated Kubernetes resources.The process typically includes updating configurations and informing other group members about the removal.Data migration is generally not part of this action and should be handled separately if needed.The container executing this action has access to following environment variables:- KB_SERVICE_PORT: The port used by the database service.- KB_SERVICE_USER: The username with the necessary permissions to interact with the database service.- KB_SERVICE_PASSWORD: The corresponding password for KB_SERVICE_USER to authenticate with the database service.- KB_PRIMARY_POD_FQDN: The FQDN of the primary Pod within the replication group.- KB_MEMBER_ADDRESSES: A comma-separated list of Pod addresses for all replicas in the group.- KB_LEAVE_MEMBER_POD_NAME: The pod name of the replica being removed from the group.- KB_LEAVE_MEMBER_POD_IP: The IP address of the replica being removed from the group.Expected action output:- On Failure: An error message, if applicable, indicating why the action failed.For example, to remove an OBServer from an OceanBase Cluster in 'zone1', the following command can be executed:'''yamlcommand:- bash- -c- | ADDRESS=$(KB_MEMBER_ADDRESSES%%,*) HOST=$(echo $ADDRESS | cut -d ':' -f 1) PORT=$(echo $ADDRESS | cut -d ':' -f 2) CLIENT='mysql -u $KB_SERVICE_USER -p$KB_SERVICE_PASSWORD -P $PORT -h $HOST -e' $CLIENT 'ALTER SYSTEM DELETE SERVER '$KB_LEAVE_MEMBER_POD_IP:$KB_SERVICE_PORT' ZONE 'zone1'''''Note: This field is immutable once it has been set.", + "pre_terminate": schema.SingleNestedAttribute{ + Description: "Specifies the hook to be executed prior to terminating a component.The PreTerminate Action is intended to run only once.This action is executed immediately when a scale-down operation for the Component is initiated.The actual termination and cleanup of the Component and its associated resources will not proceeduntil the PreTerminate action has completed successfully.The container executing this action has access to following environment variables:- KB_CLUSTER_POD_IP_LIST: Comma-separated list of the cluster's pod IP addresses (e.g., 'podIp1,podIp2').- KB_CLUSTER_POD_NAME_LIST: Comma-separated list of the cluster's pod names (e.g., 'pod1,pod2').- KB_CLUSTER_POD_HOST_NAME_LIST: Comma-separated list of host names, each corresponding to a pod in KB_CLUSTER_POD_NAME_LIST (e.g., 'hostName1,hostName2').- KB_CLUSTER_POD_HOST_IP_LIST: Comma-separated list of host IP addresses, each corresponding to a pod in KB_CLUSTER_POD_NAME_LIST (e.g., 'hostIp1,hostIp2').- KB_CLUSTER_COMPONENT_POD_NAME_LIST: Comma-separated list of all pod names within the component (e.g., 'pod1,pod2').- KB_CLUSTER_COMPONENT_POD_IP_LIST: Comma-separated list of pod IP addresses, matching the order of pods in KB_CLUSTER_COMPONENT_POD_NAME_LIST (e.g., 'podIp1,podIp2').- KB_CLUSTER_COMPONENT_POD_HOST_NAME_LIST: Comma-separated list of host names for each pod, matching the order of pods in KB_CLUSTER_COMPONENT_POD_NAME_LIST (e.g., 'hostName1,hostName2').- KB_CLUSTER_COMPONENT_POD_HOST_IP_LIST: Comma-separated list of host IP addresses for each pod, matching the order of pods in KB_CLUSTER_COMPONENT_POD_NAME_LIST (e.g., 'hostIp1,hostIp2').- KB_CLUSTER_COMPONENT_LIST: Comma-separated list of all cluster components (e.g., 'comp1,comp2').- KB_CLUSTER_COMPONENT_DELETING_LIST: Comma-separated list of components that are currently being deleted (e.g., 'comp1,comp2').- KB_CLUSTER_COMPONENT_UNDELETED_LIST: Comma-separated list of components that are not being deleted (e.g., 'comp1,comp2').- KB_CLUSTER_COMPONENT_IS_SCALING_IN: Indicates whether the component is currently scaling in. If this variable is present and set to 'true', it denotes that the component is undergoing a scale-in operation. During scale-in, data rebalancing is necessary to maintain cluster integrity. Contrast this with a cluster deletion scenario where data rebalancing is not required as the entire cluster is being cleaned up.Note: This field is immutable once it has been set.", + MarkdownDescription: "Specifies the hook to be executed prior to terminating a component.The PreTerminate Action is intended to run only once.This action is executed immediately when a scale-down operation for the Component is initiated.The actual termination and cleanup of the Component and its associated resources will not proceeduntil the PreTerminate action has completed successfully.The container executing this action has access to following environment variables:- KB_CLUSTER_POD_IP_LIST: Comma-separated list of the cluster's pod IP addresses (e.g., 'podIp1,podIp2').- KB_CLUSTER_POD_NAME_LIST: Comma-separated list of the cluster's pod names (e.g., 'pod1,pod2').- KB_CLUSTER_POD_HOST_NAME_LIST: Comma-separated list of host names, each corresponding to a pod in KB_CLUSTER_POD_NAME_LIST (e.g., 'hostName1,hostName2').- KB_CLUSTER_POD_HOST_IP_LIST: Comma-separated list of host IP addresses, each corresponding to a pod in KB_CLUSTER_POD_NAME_LIST (e.g., 'hostIp1,hostIp2').- KB_CLUSTER_COMPONENT_POD_NAME_LIST: Comma-separated list of all pod names within the component (e.g., 'pod1,pod2').- KB_CLUSTER_COMPONENT_POD_IP_LIST: Comma-separated list of pod IP addresses, matching the order of pods in KB_CLUSTER_COMPONENT_POD_NAME_LIST (e.g., 'podIp1,podIp2').- KB_CLUSTER_COMPONENT_POD_HOST_NAME_LIST: Comma-separated list of host names for each pod, matching the order of pods in KB_CLUSTER_COMPONENT_POD_NAME_LIST (e.g., 'hostName1,hostName2').- KB_CLUSTER_COMPONENT_POD_HOST_IP_LIST: Comma-separated list of host IP addresses for each pod, matching the order of pods in KB_CLUSTER_COMPONENT_POD_NAME_LIST (e.g., 'hostIp1,hostIp2').- KB_CLUSTER_COMPONENT_LIST: Comma-separated list of all cluster components (e.g., 'comp1,comp2').- KB_CLUSTER_COMPONENT_DELETING_LIST: Comma-separated list of components that are currently being deleted (e.g., 'comp1,comp2').- KB_CLUSTER_COMPONENT_UNDELETED_LIST: Comma-separated list of components that are not being deleted (e.g., 'comp1,comp2').- KB_CLUSTER_COMPONENT_IS_SCALING_IN: Indicates whether the component is currently scaling in. If this variable is present and set to 'true', it denotes that the component is undergoing a scale-in operation. During scale-in, data rebalancing is necessary to maintain cluster integrity. Contrast this with a cluster deletion scenario where data rebalancing is not required as the entire cluster is being cleaned up.Note: This field is immutable once it has been set.", Attributes: map[string]schema.Attribute{ - "builtin_handler": schema.StringAttribute{ - Description: "Specifies the name of the predefined action handler to be invoked for lifecycle actions.Lorry, as a sidecar agent co-located with the database container in the same Pod,includes a suite of built-in action implementations that are tailored to different database engines.These are known as 'builtin' handlers, includes: 'mysql', 'redis', 'mongodb', 'etcd','postgresql', 'official-postgresql', 'apecloud-postgresql', 'wesql', 'oceanbase', 'polardbx'.If the 'builtinHandler' field is specified, it instructs Lorry to utilize its internal built-in action handlerto execute the specified lifecycle actions.The 'builtinHandler' field is of type 'BuiltinActionHandlerType',which represents the name of the built-in handler.The 'builtinHandler' specified within the same 'ComponentLifecycleActions' should be consistent across allactions.This means that if you specify a built-in handler for one action, you should use the same handlerfor all other actions throughout the entire 'ComponentLifecycleActions' collection.If you need to define lifecycle actions for database engines not covered by the existing built-in support,or when the pre-existing built-in handlers do not meet your specific needs,you can use the 'customHandler' field to define your own action implementation.Deprecation Notice:- In the future, the 'builtinHandler' field will be deprecated in favor of using the 'customHandler' field for configuring all lifecycle actions.- Instead of using a name to indicate the built-in action implementations in Lorry, the recommended approach will be to explicitly invoke the desired action implementation through a gRPC interface exposed by the sidecar agent.- Developers will have the flexibility to either use the built-in action implementations provided by Lorry or develop their own sidecar agent to implement custom actions and expose them via gRPC interfaces.- This change will allow for greater customization and extensibility of lifecycle actions, as developers can create their own 'builtin' implementations tailored to their specific requirements.", - MarkdownDescription: "Specifies the name of the predefined action handler to be invoked for lifecycle actions.Lorry, as a sidecar agent co-located with the database container in the same Pod,includes a suite of built-in action implementations that are tailored to different database engines.These are known as 'builtin' handlers, includes: 'mysql', 'redis', 'mongodb', 'etcd','postgresql', 'official-postgresql', 'apecloud-postgresql', 'wesql', 'oceanbase', 'polardbx'.If the 'builtinHandler' field is specified, it instructs Lorry to utilize its internal built-in action handlerto execute the specified lifecycle actions.The 'builtinHandler' field is of type 'BuiltinActionHandlerType',which represents the name of the built-in handler.The 'builtinHandler' specified within the same 'ComponentLifecycleActions' should be consistent across allactions.This means that if you specify a built-in handler for one action, you should use the same handlerfor all other actions throughout the entire 'ComponentLifecycleActions' collection.If you need to define lifecycle actions for database engines not covered by the existing built-in support,or when the pre-existing built-in handlers do not meet your specific needs,you can use the 'customHandler' field to define your own action implementation.Deprecation Notice:- In the future, the 'builtinHandler' field will be deprecated in favor of using the 'customHandler' field for configuring all lifecycle actions.- Instead of using a name to indicate the built-in action implementations in Lorry, the recommended approach will be to explicitly invoke the desired action implementation through a gRPC interface exposed by the sidecar agent.- Developers will have the flexibility to either use the built-in action implementations provided by Lorry or develop their own sidecar agent to implement custom actions and expose them via gRPC interfaces.- This change will allow for greater customization and extensibility of lifecycle actions, as developers can create their own 'builtin' implementations tailored to their specific requirements.", - Required: false, - Optional: true, - Computed: false, - }, - - "custom_handler": schema.SingleNestedAttribute{ - Description: "Specifies a user-defined hook or procedure that is called to perform the specific lifecycle action.It offers a flexible and expandable approach for customizing the behavior of a Component by leveragingtailored actions.An Action can be implemented as either an ExecAction or an HTTPAction, with future versions planningto support GRPCAction,thereby accommodating unique logic for different database systems within the Action's framework.In future iterations, all built-in handlers are expected to transition to GRPCAction.This change means that Lorry or other sidecar agents will expose the implementation of actionsthrough a GRPC interface for external invocation.Then the controller will interact with these actions via GRPCAction calls.", - MarkdownDescription: "Specifies a user-defined hook or procedure that is called to perform the specific lifecycle action.It offers a flexible and expandable approach for customizing the behavior of a Component by leveragingtailored actions.An Action can be implemented as either an ExecAction or an HTTPAction, with future versions planningto support GRPCAction,thereby accommodating unique logic for different database systems within the Action's framework.In future iterations, all built-in handlers are expected to transition to GRPCAction.This change means that Lorry or other sidecar agents will expose the implementation of actionsthrough a GRPC interface for external invocation.Then the controller will interact with these actions via GRPCAction calls.", + "exec": schema.SingleNestedAttribute{ + Description: "Defines the command to run.This field cannot be updated.", + MarkdownDescription: "Defines the command to run.This field cannot be updated.", Attributes: map[string]schema.Attribute{ - "exec": schema.SingleNestedAttribute{ - Description: "Defines the command to run.This field cannot be updated.", - MarkdownDescription: "Defines the command to run.This field cannot be updated.", - Attributes: map[string]schema.Attribute{ - "args": schema.ListAttribute{ - Description: "Args represents the arguments that are passed to the 'command' for execution.", - MarkdownDescription: "Args represents the arguments that are passed to the 'command' for execution.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, + "args": schema.ListAttribute{ + Description: "Args represents the arguments that are passed to the 'command' for execution.", + MarkdownDescription: "Args represents the arguments that are passed to the 'command' for execution.", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, - "command": schema.ListAttribute{ - Description: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", - MarkdownDescription: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, + "command": schema.ListAttribute{ + Description: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", + MarkdownDescription: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, - "container": schema.StringAttribute{ - Description: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - MarkdownDescription: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - Required: false, - Optional: true, - Computed: false, - }, + "container": schema.StringAttribute{ + Description: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + MarkdownDescription: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + Required: false, + Optional: true, + Computed: false, + }, - "env": schema.ListNestedAttribute{ - Description: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", - MarkdownDescription: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", - NestedObject: schema.NestedAttributeObject{ + "env": schema.ListNestedAttribute{ + Description: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", + MarkdownDescription: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "name": schema.StringAttribute{ + Description: "Name of the environment variable. Must be a C_IDENTIFIER.", + MarkdownDescription: "Name of the environment variable. Must be a C_IDENTIFIER.", + Required: true, + Optional: false, + Computed: false, + }, + + "value": schema.StringAttribute{ + Description: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", + MarkdownDescription: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", + Required: false, + Optional: true, + Computed: false, + }, + + "value_from": schema.SingleNestedAttribute{ + Description: "Source for the environment variable's value. Cannot be used if value is not empty.", + MarkdownDescription: "Source for the environment variable's value. Cannot be used if value is not empty.", Attributes: map[string]schema.Attribute{ - "name": schema.StringAttribute{ - Description: "Name of the environment variable. Must be a C_IDENTIFIER.", - MarkdownDescription: "Name of the environment variable. Must be a C_IDENTIFIER.", - Required: true, - Optional: false, - Computed: false, + "config_map_key_ref": schema.SingleNestedAttribute{ + Description: "Selects a key of a ConfigMap.", + MarkdownDescription: "Selects a key of a ConfigMap.", + Attributes: map[string]schema.Attribute{ + "key": schema.StringAttribute{ + Description: "The key to select.", + MarkdownDescription: "The key to select.", + Required: true, + Optional: false, + Computed: false, + }, + + "name": schema.StringAttribute{ + Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Required: false, + Optional: true, + Computed: false, + }, + + "optional": schema.BoolAttribute{ + Description: "Specify whether the ConfigMap or its key must be defined", + MarkdownDescription: "Specify whether the ConfigMap or its key must be defined", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, }, - "value": schema.StringAttribute{ - Description: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", - MarkdownDescription: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", - Required: false, - Optional: true, - Computed: false, + "field_ref": schema.SingleNestedAttribute{ + Description: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", + MarkdownDescription: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", + Attributes: map[string]schema.Attribute{ + "api_version": schema.StringAttribute{ + Description: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", + MarkdownDescription: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", + Required: false, + Optional: true, + Computed: false, + }, + + "field_path": schema.StringAttribute{ + Description: "Path of the field to select in the specified API version.", + MarkdownDescription: "Path of the field to select in the specified API version.", + Required: true, + Optional: false, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, }, - "value_from": schema.SingleNestedAttribute{ - Description: "Source for the environment variable's value. Cannot be used if value is not empty.", - MarkdownDescription: "Source for the environment variable's value. Cannot be used if value is not empty.", + "resource_field_ref": schema.SingleNestedAttribute{ + Description: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", + MarkdownDescription: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", Attributes: map[string]schema.Attribute{ - "config_map_key_ref": schema.SingleNestedAttribute{ - Description: "Selects a key of a ConfigMap.", - MarkdownDescription: "Selects a key of a ConfigMap.", - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "The key to select.", - MarkdownDescription: "The key to select.", - Required: true, - Optional: false, - Computed: false, - }, - - "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - Required: false, - Optional: true, - Computed: false, - }, - - "optional": schema.BoolAttribute{ - Description: "Specify whether the ConfigMap or its key must be defined", - MarkdownDescription: "Specify whether the ConfigMap or its key must be defined", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "container_name": schema.StringAttribute{ + Description: "Container name: required for volumes, optional for env vars", + MarkdownDescription: "Container name: required for volumes, optional for env vars", + Required: false, + Optional: true, + Computed: false, }, - "field_ref": schema.SingleNestedAttribute{ - Description: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", - MarkdownDescription: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", - Attributes: map[string]schema.Attribute{ - "api_version": schema.StringAttribute{ - Description: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", - MarkdownDescription: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", - Required: false, - Optional: true, - Computed: false, - }, - - "field_path": schema.StringAttribute{ - Description: "Path of the field to select in the specified API version.", - MarkdownDescription: "Path of the field to select in the specified API version.", - Required: true, - Optional: false, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "divisor": schema.StringAttribute{ + Description: "Specifies the output format of the exposed resources, defaults to '1'", + MarkdownDescription: "Specifies the output format of the exposed resources, defaults to '1'", + Required: false, + Optional: true, + Computed: false, }, - "resource_field_ref": schema.SingleNestedAttribute{ - Description: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", - MarkdownDescription: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", - Attributes: map[string]schema.Attribute{ - "container_name": schema.StringAttribute{ - Description: "Container name: required for volumes, optional for env vars", - MarkdownDescription: "Container name: required for volumes, optional for env vars", - Required: false, - Optional: true, - Computed: false, - }, - - "divisor": schema.StringAttribute{ - Description: "Specifies the output format of the exposed resources, defaults to '1'", - MarkdownDescription: "Specifies the output format of the exposed resources, defaults to '1'", - Required: false, - Optional: true, - Computed: false, - }, - - "resource": schema.StringAttribute{ - Description: "Required: resource to select", - MarkdownDescription: "Required: resource to select", - Required: true, - Optional: false, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "resource": schema.StringAttribute{ + Description: "Required: resource to select", + MarkdownDescription: "Required: resource to select", + Required: true, + Optional: false, + Computed: false, }, + }, + Required: false, + Optional: true, + Computed: false, + }, - "secret_key_ref": schema.SingleNestedAttribute{ - Description: "Selects a key of a secret in the pod's namespace", - MarkdownDescription: "Selects a key of a secret in the pod's namespace", - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "The key of the secret to select from. Must be a valid secret key.", - MarkdownDescription: "The key of the secret to select from. Must be a valid secret key.", - Required: true, - Optional: false, - Computed: false, - }, + "secret_key_ref": schema.SingleNestedAttribute{ + Description: "Selects a key of a secret in the pod's namespace", + MarkdownDescription: "Selects a key of a secret in the pod's namespace", + Attributes: map[string]schema.Attribute{ + "key": schema.StringAttribute{ + Description: "The key of the secret to select from. Must be a valid secret key.", + MarkdownDescription: "The key of the secret to select from. Must be a valid secret key.", + Required: true, + Optional: false, + Computed: false, + }, - "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - Required: false, - Optional: true, - Computed: false, - }, + "name": schema.StringAttribute{ + Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Required: false, + Optional: true, + Computed: false, + }, - "optional": schema.BoolAttribute{ - Description: "Specify whether the Secret or its key must be defined", - MarkdownDescription: "Specify whether the Secret or its key must be defined", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "optional": schema.BoolAttribute{ + Description: "Specify whether the Secret or its key must be defined", + MarkdownDescription: "Specify whether the Secret or its key must be defined", + Required: false, + Optional: true, + Computed: false, }, }, Required: false, @@ -3846,36 +4228,9 @@ func (r *AppsKubeblocksIoComponentDefinitionV1Alpha1Manifest) Schema(_ context.C Computed: false, }, }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "image": schema.StringAttribute{ - Description: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", - MarkdownDescription: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", - Required: false, - Optional: true, - Computed: false, - }, - - "matching_key": schema.StringAttribute{ - Description: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - MarkdownDescription: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - Required: false, - Optional: true, - Computed: false, - }, - - "target_pod_selector": schema.StringAttribute{ - Description: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - MarkdownDescription: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - Required: false, - Optional: true, - Computed: false, - Validators: []validator.String{ - stringvalidator.OneOf("Any", "All", "Role", "Ordinal"), + Required: false, + Optional: true, + Computed: false, }, }, }, @@ -3884,42 +4239,61 @@ func (r *AppsKubeblocksIoComponentDefinitionV1Alpha1Manifest) Schema(_ context.C Computed: false, }, - "pre_condition": schema.StringAttribute{ - Description: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", - MarkdownDescription: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", + "image": schema.StringAttribute{ + Description: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", + MarkdownDescription: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", Required: false, Optional: true, Computed: false, }, - "retry_policy": schema.SingleNestedAttribute{ - Description: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", - MarkdownDescription: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", - Attributes: map[string]schema.Attribute{ - "max_retries": schema.Int64Attribute{ - Description: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", - MarkdownDescription: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", - Required: false, - Optional: true, - Computed: false, - }, + "matching_key": schema.StringAttribute{ + Description: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + MarkdownDescription: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + Required: false, + Optional: true, + Computed: false, + }, - "retry_interval": schema.Int64Attribute{ - Description: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", - MarkdownDescription: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", - Required: false, - Optional: true, - Computed: false, - }, + "target_pod_selector": schema.StringAttribute{ + Description: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + MarkdownDescription: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + Required: false, + Optional: true, + Computed: false, + Validators: []validator.String{ + stringvalidator.OneOf("Any", "All", "Role", "Ordinal"), }, - Required: false, - Optional: true, - Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "pre_condition": schema.StringAttribute{ + Description: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", + MarkdownDescription: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", + Required: false, + Optional: true, + Computed: false, + }, + + "retry_policy": schema.SingleNestedAttribute{ + Description: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", + MarkdownDescription: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", + Attributes: map[string]schema.Attribute{ + "max_retries": schema.Int64Attribute{ + Description: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", + MarkdownDescription: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", + Required: false, + Optional: true, + Computed: false, }, - "timeout_seconds": schema.Int64Attribute{ - Description: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", - MarkdownDescription: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", + "retry_interval": schema.Int64Attribute{ + Description: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", + MarkdownDescription: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", Required: false, Optional: true, Computed: false, @@ -3929,205 +4303,196 @@ func (r *AppsKubeblocksIoComponentDefinitionV1Alpha1Manifest) Schema(_ context.C Optional: true, Computed: false, }, + + "timeout_seconds": schema.Int64Attribute{ + Description: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", + MarkdownDescription: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", + Required: false, + Optional: true, + Computed: false, + }, }, Required: false, Optional: true, Computed: false, }, - "post_provision": schema.SingleNestedAttribute{ - Description: "Specifies the hook to be executed after a component's creation.By setting 'postProvision.customHandler.preCondition', you can determine the specific lifecycle stageat which the action should trigger: 'Immediately', 'RuntimeReady', 'ComponentReady', and 'ClusterReady'.with 'ComponentReady' being the default.The PostProvision Action is intended to run only once.The container executing this action has access to following environment variables:- KB_CLUSTER_POD_IP_LIST: Comma-separated list of the cluster's pod IP addresses (e.g., 'podIp1,podIp2').- KB_CLUSTER_POD_NAME_LIST: Comma-separated list of the cluster's pod names (e.g., 'pod1,pod2').- KB_CLUSTER_POD_HOST_NAME_LIST: Comma-separated list of host names, each corresponding to a pod in KB_CLUSTER_POD_NAME_LIST (e.g., 'hostName1,hostName2').- KB_CLUSTER_POD_HOST_IP_LIST: Comma-separated list of host IP addresses, each corresponding to a pod in KB_CLUSTER_POD_NAME_LIST (e.g., 'hostIp1,hostIp2').- KB_CLUSTER_COMPONENT_POD_NAME_LIST: Comma-separated list of all pod names within the component (e.g., 'pod1,pod2').- KB_CLUSTER_COMPONENT_POD_IP_LIST: Comma-separated list of pod IP addresses, matching the order of pods in KB_CLUSTER_COMPONENT_POD_NAME_LIST (e.g., 'podIp1,podIp2').- KB_CLUSTER_COMPONENT_POD_HOST_NAME_LIST: Comma-separated list of host names for each pod, matching the order of pods in KB_CLUSTER_COMPONENT_POD_NAME_LIST (e.g., 'hostName1,hostName2').- KB_CLUSTER_COMPONENT_POD_HOST_IP_LIST: Comma-separated list of host IP addresses for each pod, matching the order of pods in KB_CLUSTER_COMPONENT_POD_NAME_LIST (e.g., 'hostIp1,hostIp2').- KB_CLUSTER_COMPONENT_LIST: Comma-separated list of all cluster components (e.g., 'comp1,comp2').- KB_CLUSTER_COMPONENT_DELETING_LIST: Comma-separated list of components that are currently being deleted (e.g., 'comp1,comp2').- KB_CLUSTER_COMPONENT_UNDELETED_LIST: Comma-separated list of components that are not being deleted (e.g., 'comp1,comp2').Note: This field is immutable once it has been set.", - MarkdownDescription: "Specifies the hook to be executed after a component's creation.By setting 'postProvision.customHandler.preCondition', you can determine the specific lifecycle stageat which the action should trigger: 'Immediately', 'RuntimeReady', 'ComponentReady', and 'ClusterReady'.with 'ComponentReady' being the default.The PostProvision Action is intended to run only once.The container executing this action has access to following environment variables:- KB_CLUSTER_POD_IP_LIST: Comma-separated list of the cluster's pod IP addresses (e.g., 'podIp1,podIp2').- KB_CLUSTER_POD_NAME_LIST: Comma-separated list of the cluster's pod names (e.g., 'pod1,pod2').- KB_CLUSTER_POD_HOST_NAME_LIST: Comma-separated list of host names, each corresponding to a pod in KB_CLUSTER_POD_NAME_LIST (e.g., 'hostName1,hostName2').- KB_CLUSTER_POD_HOST_IP_LIST: Comma-separated list of host IP addresses, each corresponding to a pod in KB_CLUSTER_POD_NAME_LIST (e.g., 'hostIp1,hostIp2').- KB_CLUSTER_COMPONENT_POD_NAME_LIST: Comma-separated list of all pod names within the component (e.g., 'pod1,pod2').- KB_CLUSTER_COMPONENT_POD_IP_LIST: Comma-separated list of pod IP addresses, matching the order of pods in KB_CLUSTER_COMPONENT_POD_NAME_LIST (e.g., 'podIp1,podIp2').- KB_CLUSTER_COMPONENT_POD_HOST_NAME_LIST: Comma-separated list of host names for each pod, matching the order of pods in KB_CLUSTER_COMPONENT_POD_NAME_LIST (e.g., 'hostName1,hostName2').- KB_CLUSTER_COMPONENT_POD_HOST_IP_LIST: Comma-separated list of host IP addresses for each pod, matching the order of pods in KB_CLUSTER_COMPONENT_POD_NAME_LIST (e.g., 'hostIp1,hostIp2').- KB_CLUSTER_COMPONENT_LIST: Comma-separated list of all cluster components (e.g., 'comp1,comp2').- KB_CLUSTER_COMPONENT_DELETING_LIST: Comma-separated list of components that are currently being deleted (e.g., 'comp1,comp2').- KB_CLUSTER_COMPONENT_UNDELETED_LIST: Comma-separated list of components that are not being deleted (e.g., 'comp1,comp2').Note: This field is immutable once it has been set.", + "readonly": schema.SingleNestedAttribute{ + Description: "Defines the procedure to switch a replica into the read-only state.Use Case:This action is invoked when the database's volume capacity nears its upper limit and space is about to be exhausted.The container executing this action has access to following environment variables:- KB_POD_FQDN: The FQDN of the replica pod whose role is being checked.Expected action output:- On Failure: An error message, if applicable, indicating why the action failed.Note: This field is immutable once it has been set.", + MarkdownDescription: "Defines the procedure to switch a replica into the read-only state.Use Case:This action is invoked when the database's volume capacity nears its upper limit and space is about to be exhausted.The container executing this action has access to following environment variables:- KB_POD_FQDN: The FQDN of the replica pod whose role is being checked.Expected action output:- On Failure: An error message, if applicable, indicating why the action failed.Note: This field is immutable once it has been set.", Attributes: map[string]schema.Attribute{ - "builtin_handler": schema.StringAttribute{ - Description: "Specifies the name of the predefined action handler to be invoked for lifecycle actions.Lorry, as a sidecar agent co-located with the database container in the same Pod,includes a suite of built-in action implementations that are tailored to different database engines.These are known as 'builtin' handlers, includes: 'mysql', 'redis', 'mongodb', 'etcd','postgresql', 'official-postgresql', 'apecloud-postgresql', 'wesql', 'oceanbase', 'polardbx'.If the 'builtinHandler' field is specified, it instructs Lorry to utilize its internal built-in action handlerto execute the specified lifecycle actions.The 'builtinHandler' field is of type 'BuiltinActionHandlerType',which represents the name of the built-in handler.The 'builtinHandler' specified within the same 'ComponentLifecycleActions' should be consistent across allactions.This means that if you specify a built-in handler for one action, you should use the same handlerfor all other actions throughout the entire 'ComponentLifecycleActions' collection.If you need to define lifecycle actions for database engines not covered by the existing built-in support,or when the pre-existing built-in handlers do not meet your specific needs,you can use the 'customHandler' field to define your own action implementation.Deprecation Notice:- In the future, the 'builtinHandler' field will be deprecated in favor of using the 'customHandler' field for configuring all lifecycle actions.- Instead of using a name to indicate the built-in action implementations in Lorry, the recommended approach will be to explicitly invoke the desired action implementation through a gRPC interface exposed by the sidecar agent.- Developers will have the flexibility to either use the built-in action implementations provided by Lorry or develop their own sidecar agent to implement custom actions and expose them via gRPC interfaces.- This change will allow for greater customization and extensibility of lifecycle actions, as developers can create their own 'builtin' implementations tailored to their specific requirements.", - MarkdownDescription: "Specifies the name of the predefined action handler to be invoked for lifecycle actions.Lorry, as a sidecar agent co-located with the database container in the same Pod,includes a suite of built-in action implementations that are tailored to different database engines.These are known as 'builtin' handlers, includes: 'mysql', 'redis', 'mongodb', 'etcd','postgresql', 'official-postgresql', 'apecloud-postgresql', 'wesql', 'oceanbase', 'polardbx'.If the 'builtinHandler' field is specified, it instructs Lorry to utilize its internal built-in action handlerto execute the specified lifecycle actions.The 'builtinHandler' field is of type 'BuiltinActionHandlerType',which represents the name of the built-in handler.The 'builtinHandler' specified within the same 'ComponentLifecycleActions' should be consistent across allactions.This means that if you specify a built-in handler for one action, you should use the same handlerfor all other actions throughout the entire 'ComponentLifecycleActions' collection.If you need to define lifecycle actions for database engines not covered by the existing built-in support,or when the pre-existing built-in handlers do not meet your specific needs,you can use the 'customHandler' field to define your own action implementation.Deprecation Notice:- In the future, the 'builtinHandler' field will be deprecated in favor of using the 'customHandler' field for configuring all lifecycle actions.- Instead of using a name to indicate the built-in action implementations in Lorry, the recommended approach will be to explicitly invoke the desired action implementation through a gRPC interface exposed by the sidecar agent.- Developers will have the flexibility to either use the built-in action implementations provided by Lorry or develop their own sidecar agent to implement custom actions and expose them via gRPC interfaces.- This change will allow for greater customization and extensibility of lifecycle actions, as developers can create their own 'builtin' implementations tailored to their specific requirements.", - Required: false, - Optional: true, - Computed: false, - }, - - "custom_handler": schema.SingleNestedAttribute{ - Description: "Specifies a user-defined hook or procedure that is called to perform the specific lifecycle action.It offers a flexible and expandable approach for customizing the behavior of a Component by leveragingtailored actions.An Action can be implemented as either an ExecAction or an HTTPAction, with future versions planningto support GRPCAction,thereby accommodating unique logic for different database systems within the Action's framework.In future iterations, all built-in handlers are expected to transition to GRPCAction.This change means that Lorry or other sidecar agents will expose the implementation of actionsthrough a GRPC interface for external invocation.Then the controller will interact with these actions via GRPCAction calls.", - MarkdownDescription: "Specifies a user-defined hook or procedure that is called to perform the specific lifecycle action.It offers a flexible and expandable approach for customizing the behavior of a Component by leveragingtailored actions.An Action can be implemented as either an ExecAction or an HTTPAction, with future versions planningto support GRPCAction,thereby accommodating unique logic for different database systems within the Action's framework.In future iterations, all built-in handlers are expected to transition to GRPCAction.This change means that Lorry or other sidecar agents will expose the implementation of actionsthrough a GRPC interface for external invocation.Then the controller will interact with these actions via GRPCAction calls.", + "exec": schema.SingleNestedAttribute{ + Description: "Defines the command to run.This field cannot be updated.", + MarkdownDescription: "Defines the command to run.This field cannot be updated.", Attributes: map[string]schema.Attribute{ - "exec": schema.SingleNestedAttribute{ - Description: "Defines the command to run.This field cannot be updated.", - MarkdownDescription: "Defines the command to run.This field cannot be updated.", - Attributes: map[string]schema.Attribute{ - "args": schema.ListAttribute{ - Description: "Args represents the arguments that are passed to the 'command' for execution.", - MarkdownDescription: "Args represents the arguments that are passed to the 'command' for execution.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, + "args": schema.ListAttribute{ + Description: "Args represents the arguments that are passed to the 'command' for execution.", + MarkdownDescription: "Args represents the arguments that are passed to the 'command' for execution.", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, - "command": schema.ListAttribute{ - Description: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", - MarkdownDescription: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, + "command": schema.ListAttribute{ + Description: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", + MarkdownDescription: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, - "container": schema.StringAttribute{ - Description: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - MarkdownDescription: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - Required: false, - Optional: true, - Computed: false, - }, + "container": schema.StringAttribute{ + Description: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + MarkdownDescription: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + Required: false, + Optional: true, + Computed: false, + }, - "env": schema.ListNestedAttribute{ - Description: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", - MarkdownDescription: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "name": schema.StringAttribute{ - Description: "Name of the environment variable. Must be a C_IDENTIFIER.", - MarkdownDescription: "Name of the environment variable. Must be a C_IDENTIFIER.", - Required: true, - Optional: false, - Computed: false, - }, + "env": schema.ListNestedAttribute{ + Description: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", + MarkdownDescription: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "name": schema.StringAttribute{ + Description: "Name of the environment variable. Must be a C_IDENTIFIER.", + MarkdownDescription: "Name of the environment variable. Must be a C_IDENTIFIER.", + Required: true, + Optional: false, + Computed: false, + }, - "value": schema.StringAttribute{ - Description: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", - MarkdownDescription: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", - Required: false, - Optional: true, - Computed: false, - }, + "value": schema.StringAttribute{ + Description: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", + MarkdownDescription: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", + Required: false, + Optional: true, + Computed: false, + }, - "value_from": schema.SingleNestedAttribute{ - Description: "Source for the environment variable's value. Cannot be used if value is not empty.", - MarkdownDescription: "Source for the environment variable's value. Cannot be used if value is not empty.", + "value_from": schema.SingleNestedAttribute{ + Description: "Source for the environment variable's value. Cannot be used if value is not empty.", + MarkdownDescription: "Source for the environment variable's value. Cannot be used if value is not empty.", + Attributes: map[string]schema.Attribute{ + "config_map_key_ref": schema.SingleNestedAttribute{ + Description: "Selects a key of a ConfigMap.", + MarkdownDescription: "Selects a key of a ConfigMap.", Attributes: map[string]schema.Attribute{ - "config_map_key_ref": schema.SingleNestedAttribute{ - Description: "Selects a key of a ConfigMap.", - MarkdownDescription: "Selects a key of a ConfigMap.", - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "The key to select.", - MarkdownDescription: "The key to select.", - Required: true, - Optional: false, - Computed: false, - }, + "key": schema.StringAttribute{ + Description: "The key to select.", + MarkdownDescription: "The key to select.", + Required: true, + Optional: false, + Computed: false, + }, - "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - Required: false, - Optional: true, - Computed: false, - }, + "name": schema.StringAttribute{ + Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Required: false, + Optional: true, + Computed: false, + }, - "optional": schema.BoolAttribute{ - Description: "Specify whether the ConfigMap or its key must be defined", - MarkdownDescription: "Specify whether the ConfigMap or its key must be defined", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "optional": schema.BoolAttribute{ + Description: "Specify whether the ConfigMap or its key must be defined", + MarkdownDescription: "Specify whether the ConfigMap or its key must be defined", + Required: false, + Optional: true, + Computed: false, }, + }, + Required: false, + Optional: true, + Computed: false, + }, - "field_ref": schema.SingleNestedAttribute{ - Description: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", - MarkdownDescription: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", - Attributes: map[string]schema.Attribute{ - "api_version": schema.StringAttribute{ - Description: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", - MarkdownDescription: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", - Required: false, - Optional: true, - Computed: false, - }, + "field_ref": schema.SingleNestedAttribute{ + Description: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", + MarkdownDescription: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", + Attributes: map[string]schema.Attribute{ + "api_version": schema.StringAttribute{ + Description: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", + MarkdownDescription: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", + Required: false, + Optional: true, + Computed: false, + }, - "field_path": schema.StringAttribute{ - Description: "Path of the field to select in the specified API version.", - MarkdownDescription: "Path of the field to select in the specified API version.", - Required: true, - Optional: false, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "field_path": schema.StringAttribute{ + Description: "Path of the field to select in the specified API version.", + MarkdownDescription: "Path of the field to select in the specified API version.", + Required: true, + Optional: false, + Computed: false, }, + }, + Required: false, + Optional: true, + Computed: false, + }, - "resource_field_ref": schema.SingleNestedAttribute{ - Description: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", - MarkdownDescription: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", - Attributes: map[string]schema.Attribute{ - "container_name": schema.StringAttribute{ - Description: "Container name: required for volumes, optional for env vars", - MarkdownDescription: "Container name: required for volumes, optional for env vars", - Required: false, - Optional: true, - Computed: false, - }, + "resource_field_ref": schema.SingleNestedAttribute{ + Description: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", + MarkdownDescription: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", + Attributes: map[string]schema.Attribute{ + "container_name": schema.StringAttribute{ + Description: "Container name: required for volumes, optional for env vars", + MarkdownDescription: "Container name: required for volumes, optional for env vars", + Required: false, + Optional: true, + Computed: false, + }, - "divisor": schema.StringAttribute{ - Description: "Specifies the output format of the exposed resources, defaults to '1'", - MarkdownDescription: "Specifies the output format of the exposed resources, defaults to '1'", - Required: false, - Optional: true, - Computed: false, - }, + "divisor": schema.StringAttribute{ + Description: "Specifies the output format of the exposed resources, defaults to '1'", + MarkdownDescription: "Specifies the output format of the exposed resources, defaults to '1'", + Required: false, + Optional: true, + Computed: false, + }, - "resource": schema.StringAttribute{ - Description: "Required: resource to select", - MarkdownDescription: "Required: resource to select", - Required: true, - Optional: false, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "resource": schema.StringAttribute{ + Description: "Required: resource to select", + MarkdownDescription: "Required: resource to select", + Required: true, + Optional: false, + Computed: false, }, + }, + Required: false, + Optional: true, + Computed: false, + }, - "secret_key_ref": schema.SingleNestedAttribute{ - Description: "Selects a key of a secret in the pod's namespace", - MarkdownDescription: "Selects a key of a secret in the pod's namespace", - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "The key of the secret to select from. Must be a valid secret key.", - MarkdownDescription: "The key of the secret to select from. Must be a valid secret key.", - Required: true, - Optional: false, - Computed: false, - }, + "secret_key_ref": schema.SingleNestedAttribute{ + Description: "Selects a key of a secret in the pod's namespace", + MarkdownDescription: "Selects a key of a secret in the pod's namespace", + Attributes: map[string]schema.Attribute{ + "key": schema.StringAttribute{ + Description: "The key of the secret to select from. Must be a valid secret key.", + MarkdownDescription: "The key of the secret to select from. Must be a valid secret key.", + Required: true, + Optional: false, + Computed: false, + }, - "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - Required: false, - Optional: true, - Computed: false, - }, + "name": schema.StringAttribute{ + Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Required: false, + Optional: true, + Computed: false, + }, - "optional": schema.BoolAttribute{ - Description: "Specify whether the Secret or its key must be defined", - MarkdownDescription: "Specify whether the Secret or its key must be defined", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "optional": schema.BoolAttribute{ + Description: "Specify whether the Secret or its key must be defined", + MarkdownDescription: "Specify whether the Secret or its key must be defined", + Required: false, + Optional: true, + Computed: false, }, }, Required: false, @@ -4135,36 +4500,9 @@ func (r *AppsKubeblocksIoComponentDefinitionV1Alpha1Manifest) Schema(_ context.C Computed: false, }, }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "image": schema.StringAttribute{ - Description: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", - MarkdownDescription: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", - Required: false, - Optional: true, - Computed: false, - }, - - "matching_key": schema.StringAttribute{ - Description: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - MarkdownDescription: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - Required: false, - Optional: true, - Computed: false, - }, - - "target_pod_selector": schema.StringAttribute{ - Description: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - MarkdownDescription: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - Required: false, - Optional: true, - Computed: false, - Validators: []validator.String{ - stringvalidator.OneOf("Any", "All", "Role", "Ordinal"), + Required: false, + Optional: true, + Computed: false, }, }, }, @@ -4173,42 +4511,61 @@ func (r *AppsKubeblocksIoComponentDefinitionV1Alpha1Manifest) Schema(_ context.C Computed: false, }, - "pre_condition": schema.StringAttribute{ - Description: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", - MarkdownDescription: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", + "image": schema.StringAttribute{ + Description: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", + MarkdownDescription: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", + Required: false, + Optional: true, + Computed: false, + }, + + "matching_key": schema.StringAttribute{ + Description: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + MarkdownDescription: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + Required: false, + Optional: true, + Computed: false, + }, + + "target_pod_selector": schema.StringAttribute{ + Description: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + MarkdownDescription: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", Required: false, Optional: true, Computed: false, + Validators: []validator.String{ + stringvalidator.OneOf("Any", "All", "Role", "Ordinal"), + }, }, + }, + Required: false, + Optional: true, + Computed: false, + }, - "retry_policy": schema.SingleNestedAttribute{ - Description: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", - MarkdownDescription: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", - Attributes: map[string]schema.Attribute{ - "max_retries": schema.Int64Attribute{ - Description: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", - MarkdownDescription: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", - Required: false, - Optional: true, - Computed: false, - }, + "pre_condition": schema.StringAttribute{ + Description: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", + MarkdownDescription: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", + Required: false, + Optional: true, + Computed: false, + }, - "retry_interval": schema.Int64Attribute{ - Description: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", - MarkdownDescription: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "retry_policy": schema.SingleNestedAttribute{ + Description: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", + MarkdownDescription: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", + Attributes: map[string]schema.Attribute{ + "max_retries": schema.Int64Attribute{ + Description: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", + MarkdownDescription: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", + Required: false, + Optional: true, + Computed: false, }, - "timeout_seconds": schema.Int64Attribute{ - Description: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", - MarkdownDescription: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", + "retry_interval": schema.Int64Attribute{ + Description: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", + MarkdownDescription: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", Required: false, Optional: true, Computed: false, @@ -4218,205 +4575,196 @@ func (r *AppsKubeblocksIoComponentDefinitionV1Alpha1Manifest) Schema(_ context.C Optional: true, Computed: false, }, + + "timeout_seconds": schema.Int64Attribute{ + Description: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", + MarkdownDescription: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", + Required: false, + Optional: true, + Computed: false, + }, }, Required: false, Optional: true, Computed: false, }, - "pre_terminate": schema.SingleNestedAttribute{ - Description: "Specifies the hook to be executed prior to terminating a component.The PreTerminate Action is intended to run only once.This action is executed immediately when a scale-down operation for the Component is initiated.The actual termination and cleanup of the Component and its associated resources will not proceeduntil the PreTerminate action has completed successfully.The container executing this action has access to following environment variables:- KB_CLUSTER_POD_IP_LIST: Comma-separated list of the cluster's pod IP addresses (e.g., 'podIp1,podIp2').- KB_CLUSTER_POD_NAME_LIST: Comma-separated list of the cluster's pod names (e.g., 'pod1,pod2').- KB_CLUSTER_POD_HOST_NAME_LIST: Comma-separated list of host names, each corresponding to a pod in KB_CLUSTER_POD_NAME_LIST (e.g., 'hostName1,hostName2').- KB_CLUSTER_POD_HOST_IP_LIST: Comma-separated list of host IP addresses, each corresponding to a pod in KB_CLUSTER_POD_NAME_LIST (e.g., 'hostIp1,hostIp2').- KB_CLUSTER_COMPONENT_POD_NAME_LIST: Comma-separated list of all pod names within the component (e.g., 'pod1,pod2').- KB_CLUSTER_COMPONENT_POD_IP_LIST: Comma-separated list of pod IP addresses, matching the order of pods in KB_CLUSTER_COMPONENT_POD_NAME_LIST (e.g., 'podIp1,podIp2').- KB_CLUSTER_COMPONENT_POD_HOST_NAME_LIST: Comma-separated list of host names for each pod, matching the order of pods in KB_CLUSTER_COMPONENT_POD_NAME_LIST (e.g., 'hostName1,hostName2').- KB_CLUSTER_COMPONENT_POD_HOST_IP_LIST: Comma-separated list of host IP addresses for each pod, matching the order of pods in KB_CLUSTER_COMPONENT_POD_NAME_LIST (e.g., 'hostIp1,hostIp2').- KB_CLUSTER_COMPONENT_LIST: Comma-separated list of all cluster components (e.g., 'comp1,comp2').- KB_CLUSTER_COMPONENT_DELETING_LIST: Comma-separated list of components that are currently being deleted (e.g., 'comp1,comp2').- KB_CLUSTER_COMPONENT_UNDELETED_LIST: Comma-separated list of components that are not being deleted (e.g., 'comp1,comp2').- KB_CLUSTER_COMPONENT_IS_SCALING_IN: Indicates whether the component is currently scaling in. If this variable is present and set to 'true', it denotes that the component is undergoing a scale-in operation. During scale-in, data rebalancing is necessary to maintain cluster integrity. Contrast this with a cluster deletion scenario where data rebalancing is not required as the entire cluster is being cleaned up.Note: This field is immutable once it has been set.", - MarkdownDescription: "Specifies the hook to be executed prior to terminating a component.The PreTerminate Action is intended to run only once.This action is executed immediately when a scale-down operation for the Component is initiated.The actual termination and cleanup of the Component and its associated resources will not proceeduntil the PreTerminate action has completed successfully.The container executing this action has access to following environment variables:- KB_CLUSTER_POD_IP_LIST: Comma-separated list of the cluster's pod IP addresses (e.g., 'podIp1,podIp2').- KB_CLUSTER_POD_NAME_LIST: Comma-separated list of the cluster's pod names (e.g., 'pod1,pod2').- KB_CLUSTER_POD_HOST_NAME_LIST: Comma-separated list of host names, each corresponding to a pod in KB_CLUSTER_POD_NAME_LIST (e.g., 'hostName1,hostName2').- KB_CLUSTER_POD_HOST_IP_LIST: Comma-separated list of host IP addresses, each corresponding to a pod in KB_CLUSTER_POD_NAME_LIST (e.g., 'hostIp1,hostIp2').- KB_CLUSTER_COMPONENT_POD_NAME_LIST: Comma-separated list of all pod names within the component (e.g., 'pod1,pod2').- KB_CLUSTER_COMPONENT_POD_IP_LIST: Comma-separated list of pod IP addresses, matching the order of pods in KB_CLUSTER_COMPONENT_POD_NAME_LIST (e.g., 'podIp1,podIp2').- KB_CLUSTER_COMPONENT_POD_HOST_NAME_LIST: Comma-separated list of host names for each pod, matching the order of pods in KB_CLUSTER_COMPONENT_POD_NAME_LIST (e.g., 'hostName1,hostName2').- KB_CLUSTER_COMPONENT_POD_HOST_IP_LIST: Comma-separated list of host IP addresses for each pod, matching the order of pods in KB_CLUSTER_COMPONENT_POD_NAME_LIST (e.g., 'hostIp1,hostIp2').- KB_CLUSTER_COMPONENT_LIST: Comma-separated list of all cluster components (e.g., 'comp1,comp2').- KB_CLUSTER_COMPONENT_DELETING_LIST: Comma-separated list of components that are currently being deleted (e.g., 'comp1,comp2').- KB_CLUSTER_COMPONENT_UNDELETED_LIST: Comma-separated list of components that are not being deleted (e.g., 'comp1,comp2').- KB_CLUSTER_COMPONENT_IS_SCALING_IN: Indicates whether the component is currently scaling in. If this variable is present and set to 'true', it denotes that the component is undergoing a scale-in operation. During scale-in, data rebalancing is necessary to maintain cluster integrity. Contrast this with a cluster deletion scenario where data rebalancing is not required as the entire cluster is being cleaned up.Note: This field is immutable once it has been set.", + "readwrite": schema.SingleNestedAttribute{ + Description: "Defines the procedure to transition a replica from the read-only state back to the read-write state.Use Case:This action is used to bring back a replica that was previously in a read-only state,which restricted write operations, to its normal operational state where it can handleboth read and write operations.The container executing this action has access to following environment variables:- KB_POD_FQDN: The FQDN of the replica pod whose role is being checked.Expected action output:- On Failure: An error message, if applicable, indicating why the action failed.Note: This field is immutable once it has been set.", + MarkdownDescription: "Defines the procedure to transition a replica from the read-only state back to the read-write state.Use Case:This action is used to bring back a replica that was previously in a read-only state,which restricted write operations, to its normal operational state where it can handleboth read and write operations.The container executing this action has access to following environment variables:- KB_POD_FQDN: The FQDN of the replica pod whose role is being checked.Expected action output:- On Failure: An error message, if applicable, indicating why the action failed.Note: This field is immutable once it has been set.", Attributes: map[string]schema.Attribute{ - "builtin_handler": schema.StringAttribute{ - Description: "Specifies the name of the predefined action handler to be invoked for lifecycle actions.Lorry, as a sidecar agent co-located with the database container in the same Pod,includes a suite of built-in action implementations that are tailored to different database engines.These are known as 'builtin' handlers, includes: 'mysql', 'redis', 'mongodb', 'etcd','postgresql', 'official-postgresql', 'apecloud-postgresql', 'wesql', 'oceanbase', 'polardbx'.If the 'builtinHandler' field is specified, it instructs Lorry to utilize its internal built-in action handlerto execute the specified lifecycle actions.The 'builtinHandler' field is of type 'BuiltinActionHandlerType',which represents the name of the built-in handler.The 'builtinHandler' specified within the same 'ComponentLifecycleActions' should be consistent across allactions.This means that if you specify a built-in handler for one action, you should use the same handlerfor all other actions throughout the entire 'ComponentLifecycleActions' collection.If you need to define lifecycle actions for database engines not covered by the existing built-in support,or when the pre-existing built-in handlers do not meet your specific needs,you can use the 'customHandler' field to define your own action implementation.Deprecation Notice:- In the future, the 'builtinHandler' field will be deprecated in favor of using the 'customHandler' field for configuring all lifecycle actions.- Instead of using a name to indicate the built-in action implementations in Lorry, the recommended approach will be to explicitly invoke the desired action implementation through a gRPC interface exposed by the sidecar agent.- Developers will have the flexibility to either use the built-in action implementations provided by Lorry or develop their own sidecar agent to implement custom actions and expose them via gRPC interfaces.- This change will allow for greater customization and extensibility of lifecycle actions, as developers can create their own 'builtin' implementations tailored to their specific requirements.", - MarkdownDescription: "Specifies the name of the predefined action handler to be invoked for lifecycle actions.Lorry, as a sidecar agent co-located with the database container in the same Pod,includes a suite of built-in action implementations that are tailored to different database engines.These are known as 'builtin' handlers, includes: 'mysql', 'redis', 'mongodb', 'etcd','postgresql', 'official-postgresql', 'apecloud-postgresql', 'wesql', 'oceanbase', 'polardbx'.If the 'builtinHandler' field is specified, it instructs Lorry to utilize its internal built-in action handlerto execute the specified lifecycle actions.The 'builtinHandler' field is of type 'BuiltinActionHandlerType',which represents the name of the built-in handler.The 'builtinHandler' specified within the same 'ComponentLifecycleActions' should be consistent across allactions.This means that if you specify a built-in handler for one action, you should use the same handlerfor all other actions throughout the entire 'ComponentLifecycleActions' collection.If you need to define lifecycle actions for database engines not covered by the existing built-in support,or when the pre-existing built-in handlers do not meet your specific needs,you can use the 'customHandler' field to define your own action implementation.Deprecation Notice:- In the future, the 'builtinHandler' field will be deprecated in favor of using the 'customHandler' field for configuring all lifecycle actions.- Instead of using a name to indicate the built-in action implementations in Lorry, the recommended approach will be to explicitly invoke the desired action implementation through a gRPC interface exposed by the sidecar agent.- Developers will have the flexibility to either use the built-in action implementations provided by Lorry or develop their own sidecar agent to implement custom actions and expose them via gRPC interfaces.- This change will allow for greater customization and extensibility of lifecycle actions, as developers can create their own 'builtin' implementations tailored to their specific requirements.", - Required: false, - Optional: true, - Computed: false, - }, - - "custom_handler": schema.SingleNestedAttribute{ - Description: "Specifies a user-defined hook or procedure that is called to perform the specific lifecycle action.It offers a flexible and expandable approach for customizing the behavior of a Component by leveragingtailored actions.An Action can be implemented as either an ExecAction or an HTTPAction, with future versions planningto support GRPCAction,thereby accommodating unique logic for different database systems within the Action's framework.In future iterations, all built-in handlers are expected to transition to GRPCAction.This change means that Lorry or other sidecar agents will expose the implementation of actionsthrough a GRPC interface for external invocation.Then the controller will interact with these actions via GRPCAction calls.", - MarkdownDescription: "Specifies a user-defined hook or procedure that is called to perform the specific lifecycle action.It offers a flexible and expandable approach for customizing the behavior of a Component by leveragingtailored actions.An Action can be implemented as either an ExecAction or an HTTPAction, with future versions planningto support GRPCAction,thereby accommodating unique logic for different database systems within the Action's framework.In future iterations, all built-in handlers are expected to transition to GRPCAction.This change means that Lorry or other sidecar agents will expose the implementation of actionsthrough a GRPC interface for external invocation.Then the controller will interact with these actions via GRPCAction calls.", + "exec": schema.SingleNestedAttribute{ + Description: "Defines the command to run.This field cannot be updated.", + MarkdownDescription: "Defines the command to run.This field cannot be updated.", Attributes: map[string]schema.Attribute{ - "exec": schema.SingleNestedAttribute{ - Description: "Defines the command to run.This field cannot be updated.", - MarkdownDescription: "Defines the command to run.This field cannot be updated.", - Attributes: map[string]schema.Attribute{ - "args": schema.ListAttribute{ - Description: "Args represents the arguments that are passed to the 'command' for execution.", - MarkdownDescription: "Args represents the arguments that are passed to the 'command' for execution.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, + "args": schema.ListAttribute{ + Description: "Args represents the arguments that are passed to the 'command' for execution.", + MarkdownDescription: "Args represents the arguments that are passed to the 'command' for execution.", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, - "command": schema.ListAttribute{ - Description: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", - MarkdownDescription: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, + "command": schema.ListAttribute{ + Description: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", + MarkdownDescription: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, - "container": schema.StringAttribute{ - Description: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - MarkdownDescription: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - Required: false, - Optional: true, - Computed: false, - }, + "container": schema.StringAttribute{ + Description: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + MarkdownDescription: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + Required: false, + Optional: true, + Computed: false, + }, - "env": schema.ListNestedAttribute{ - Description: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", - MarkdownDescription: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "name": schema.StringAttribute{ - Description: "Name of the environment variable. Must be a C_IDENTIFIER.", - MarkdownDescription: "Name of the environment variable. Must be a C_IDENTIFIER.", - Required: true, - Optional: false, - Computed: false, - }, + "env": schema.ListNestedAttribute{ + Description: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", + MarkdownDescription: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "name": schema.StringAttribute{ + Description: "Name of the environment variable. Must be a C_IDENTIFIER.", + MarkdownDescription: "Name of the environment variable. Must be a C_IDENTIFIER.", + Required: true, + Optional: false, + Computed: false, + }, - "value": schema.StringAttribute{ - Description: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", - MarkdownDescription: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", - Required: false, - Optional: true, - Computed: false, - }, + "value": schema.StringAttribute{ + Description: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", + MarkdownDescription: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", + Required: false, + Optional: true, + Computed: false, + }, - "value_from": schema.SingleNestedAttribute{ - Description: "Source for the environment variable's value. Cannot be used if value is not empty.", - MarkdownDescription: "Source for the environment variable's value. Cannot be used if value is not empty.", + "value_from": schema.SingleNestedAttribute{ + Description: "Source for the environment variable's value. Cannot be used if value is not empty.", + MarkdownDescription: "Source for the environment variable's value. Cannot be used if value is not empty.", + Attributes: map[string]schema.Attribute{ + "config_map_key_ref": schema.SingleNestedAttribute{ + Description: "Selects a key of a ConfigMap.", + MarkdownDescription: "Selects a key of a ConfigMap.", Attributes: map[string]schema.Attribute{ - "config_map_key_ref": schema.SingleNestedAttribute{ - Description: "Selects a key of a ConfigMap.", - MarkdownDescription: "Selects a key of a ConfigMap.", - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "The key to select.", - MarkdownDescription: "The key to select.", - Required: true, - Optional: false, - Computed: false, - }, + "key": schema.StringAttribute{ + Description: "The key to select.", + MarkdownDescription: "The key to select.", + Required: true, + Optional: false, + Computed: false, + }, - "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - Required: false, - Optional: true, - Computed: false, - }, + "name": schema.StringAttribute{ + Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Required: false, + Optional: true, + Computed: false, + }, - "optional": schema.BoolAttribute{ - Description: "Specify whether the ConfigMap or its key must be defined", - MarkdownDescription: "Specify whether the ConfigMap or its key must be defined", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "optional": schema.BoolAttribute{ + Description: "Specify whether the ConfigMap or its key must be defined", + MarkdownDescription: "Specify whether the ConfigMap or its key must be defined", + Required: false, + Optional: true, + Computed: false, }, + }, + Required: false, + Optional: true, + Computed: false, + }, - "field_ref": schema.SingleNestedAttribute{ - Description: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", - MarkdownDescription: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", - Attributes: map[string]schema.Attribute{ - "api_version": schema.StringAttribute{ - Description: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", - MarkdownDescription: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", - Required: false, - Optional: true, - Computed: false, - }, + "field_ref": schema.SingleNestedAttribute{ + Description: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", + MarkdownDescription: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", + Attributes: map[string]schema.Attribute{ + "api_version": schema.StringAttribute{ + Description: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", + MarkdownDescription: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", + Required: false, + Optional: true, + Computed: false, + }, - "field_path": schema.StringAttribute{ - Description: "Path of the field to select in the specified API version.", - MarkdownDescription: "Path of the field to select in the specified API version.", - Required: true, - Optional: false, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "field_path": schema.StringAttribute{ + Description: "Path of the field to select in the specified API version.", + MarkdownDescription: "Path of the field to select in the specified API version.", + Required: true, + Optional: false, + Computed: false, }, + }, + Required: false, + Optional: true, + Computed: false, + }, - "resource_field_ref": schema.SingleNestedAttribute{ - Description: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", - MarkdownDescription: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", - Attributes: map[string]schema.Attribute{ - "container_name": schema.StringAttribute{ - Description: "Container name: required for volumes, optional for env vars", - MarkdownDescription: "Container name: required for volumes, optional for env vars", - Required: false, - Optional: true, - Computed: false, - }, + "resource_field_ref": schema.SingleNestedAttribute{ + Description: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", + MarkdownDescription: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", + Attributes: map[string]schema.Attribute{ + "container_name": schema.StringAttribute{ + Description: "Container name: required for volumes, optional for env vars", + MarkdownDescription: "Container name: required for volumes, optional for env vars", + Required: false, + Optional: true, + Computed: false, + }, - "divisor": schema.StringAttribute{ - Description: "Specifies the output format of the exposed resources, defaults to '1'", - MarkdownDescription: "Specifies the output format of the exposed resources, defaults to '1'", - Required: false, - Optional: true, - Computed: false, - }, + "divisor": schema.StringAttribute{ + Description: "Specifies the output format of the exposed resources, defaults to '1'", + MarkdownDescription: "Specifies the output format of the exposed resources, defaults to '1'", + Required: false, + Optional: true, + Computed: false, + }, - "resource": schema.StringAttribute{ - Description: "Required: resource to select", - MarkdownDescription: "Required: resource to select", - Required: true, - Optional: false, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "resource": schema.StringAttribute{ + Description: "Required: resource to select", + MarkdownDescription: "Required: resource to select", + Required: true, + Optional: false, + Computed: false, }, + }, + Required: false, + Optional: true, + Computed: false, + }, - "secret_key_ref": schema.SingleNestedAttribute{ - Description: "Selects a key of a secret in the pod's namespace", - MarkdownDescription: "Selects a key of a secret in the pod's namespace", - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "The key of the secret to select from. Must be a valid secret key.", - MarkdownDescription: "The key of the secret to select from. Must be a valid secret key.", - Required: true, - Optional: false, - Computed: false, - }, + "secret_key_ref": schema.SingleNestedAttribute{ + Description: "Selects a key of a secret in the pod's namespace", + MarkdownDescription: "Selects a key of a secret in the pod's namespace", + Attributes: map[string]schema.Attribute{ + "key": schema.StringAttribute{ + Description: "The key of the secret to select from. Must be a valid secret key.", + MarkdownDescription: "The key of the secret to select from. Must be a valid secret key.", + Required: true, + Optional: false, + Computed: false, + }, - "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - Required: false, - Optional: true, - Computed: false, - }, + "name": schema.StringAttribute{ + Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Required: false, + Optional: true, + Computed: false, + }, - "optional": schema.BoolAttribute{ - Description: "Specify whether the Secret or its key must be defined", - MarkdownDescription: "Specify whether the Secret or its key must be defined", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "optional": schema.BoolAttribute{ + Description: "Specify whether the Secret or its key must be defined", + MarkdownDescription: "Specify whether the Secret or its key must be defined", + Required: false, + Optional: true, + Computed: false, }, }, Required: false, @@ -4424,36 +4772,9 @@ func (r *AppsKubeblocksIoComponentDefinitionV1Alpha1Manifest) Schema(_ context.C Computed: false, }, }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "image": schema.StringAttribute{ - Description: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", - MarkdownDescription: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", - Required: false, - Optional: true, - Computed: false, - }, - - "matching_key": schema.StringAttribute{ - Description: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - MarkdownDescription: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - Required: false, - Optional: true, - Computed: false, - }, - - "target_pod_selector": schema.StringAttribute{ - Description: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - MarkdownDescription: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - Required: false, - Optional: true, - Computed: false, - Validators: []validator.String{ - stringvalidator.OneOf("Any", "All", "Role", "Ordinal"), + Required: false, + Optional: true, + Computed: false, }, }, }, @@ -4462,331 +4783,61 @@ func (r *AppsKubeblocksIoComponentDefinitionV1Alpha1Manifest) Schema(_ context.C Computed: false, }, - "pre_condition": schema.StringAttribute{ - Description: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", - MarkdownDescription: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", + "image": schema.StringAttribute{ + Description: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", + MarkdownDescription: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", Required: false, Optional: true, Computed: false, }, - "retry_policy": schema.SingleNestedAttribute{ - Description: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", - MarkdownDescription: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", - Attributes: map[string]schema.Attribute{ - "max_retries": schema.Int64Attribute{ - Description: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", - MarkdownDescription: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", - Required: false, - Optional: true, - Computed: false, - }, - - "retry_interval": schema.Int64Attribute{ - Description: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", - MarkdownDescription: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "matching_key": schema.StringAttribute{ + Description: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + MarkdownDescription: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + Required: false, + Optional: true, + Computed: false, }, - "timeout_seconds": schema.Int64Attribute{ - Description: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", - MarkdownDescription: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", + "target_pod_selector": schema.StringAttribute{ + Description: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + MarkdownDescription: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", Required: false, Optional: true, Computed: false, + Validators: []validator.String{ + stringvalidator.OneOf("Any", "All", "Role", "Ordinal"), + }, }, }, Required: false, Optional: true, Computed: false, }, - }, - Required: false, - Optional: true, - Computed: false, - }, - "readonly": schema.SingleNestedAttribute{ - Description: "Defines the procedure to switch a replica into the read-only state.Use Case:This action is invoked when the database's volume capacity nears its upper limit and space is about to be exhausted.The container executing this action has access to following environment variables:- KB_POD_FQDN: The FQDN of the replica pod whose role is being checked.- KB_SERVICE_PORT: The port used by the database service.- KB_SERVICE_USER: The username with the necessary permissions to interact with the database service.- KB_SERVICE_PASSWORD: The corresponding password for KB_SERVICE_USER to authenticate with the database service.Expected action output:- On Failure: An error message, if applicable, indicating why the action failed.Note: This field is immutable once it has been set.", - MarkdownDescription: "Defines the procedure to switch a replica into the read-only state.Use Case:This action is invoked when the database's volume capacity nears its upper limit and space is about to be exhausted.The container executing this action has access to following environment variables:- KB_POD_FQDN: The FQDN of the replica pod whose role is being checked.- KB_SERVICE_PORT: The port used by the database service.- KB_SERVICE_USER: The username with the necessary permissions to interact with the database service.- KB_SERVICE_PASSWORD: The corresponding password for KB_SERVICE_USER to authenticate with the database service.Expected action output:- On Failure: An error message, if applicable, indicating why the action failed.Note: This field is immutable once it has been set.", - Attributes: map[string]schema.Attribute{ - "builtin_handler": schema.StringAttribute{ - Description: "Specifies the name of the predefined action handler to be invoked for lifecycle actions.Lorry, as a sidecar agent co-located with the database container in the same Pod,includes a suite of built-in action implementations that are tailored to different database engines.These are known as 'builtin' handlers, includes: 'mysql', 'redis', 'mongodb', 'etcd','postgresql', 'official-postgresql', 'apecloud-postgresql', 'wesql', 'oceanbase', 'polardbx'.If the 'builtinHandler' field is specified, it instructs Lorry to utilize its internal built-in action handlerto execute the specified lifecycle actions.The 'builtinHandler' field is of type 'BuiltinActionHandlerType',which represents the name of the built-in handler.The 'builtinHandler' specified within the same 'ComponentLifecycleActions' should be consistent across allactions.This means that if you specify a built-in handler for one action, you should use the same handlerfor all other actions throughout the entire 'ComponentLifecycleActions' collection.If you need to define lifecycle actions for database engines not covered by the existing built-in support,or when the pre-existing built-in handlers do not meet your specific needs,you can use the 'customHandler' field to define your own action implementation.Deprecation Notice:- In the future, the 'builtinHandler' field will be deprecated in favor of using the 'customHandler' field for configuring all lifecycle actions.- Instead of using a name to indicate the built-in action implementations in Lorry, the recommended approach will be to explicitly invoke the desired action implementation through a gRPC interface exposed by the sidecar agent.- Developers will have the flexibility to either use the built-in action implementations provided by Lorry or develop their own sidecar agent to implement custom actions and expose them via gRPC interfaces.- This change will allow for greater customization and extensibility of lifecycle actions, as developers can create their own 'builtin' implementations tailored to their specific requirements.", - MarkdownDescription: "Specifies the name of the predefined action handler to be invoked for lifecycle actions.Lorry, as a sidecar agent co-located with the database container in the same Pod,includes a suite of built-in action implementations that are tailored to different database engines.These are known as 'builtin' handlers, includes: 'mysql', 'redis', 'mongodb', 'etcd','postgresql', 'official-postgresql', 'apecloud-postgresql', 'wesql', 'oceanbase', 'polardbx'.If the 'builtinHandler' field is specified, it instructs Lorry to utilize its internal built-in action handlerto execute the specified lifecycle actions.The 'builtinHandler' field is of type 'BuiltinActionHandlerType',which represents the name of the built-in handler.The 'builtinHandler' specified within the same 'ComponentLifecycleActions' should be consistent across allactions.This means that if you specify a built-in handler for one action, you should use the same handlerfor all other actions throughout the entire 'ComponentLifecycleActions' collection.If you need to define lifecycle actions for database engines not covered by the existing built-in support,or when the pre-existing built-in handlers do not meet your specific needs,you can use the 'customHandler' field to define your own action implementation.Deprecation Notice:- In the future, the 'builtinHandler' field will be deprecated in favor of using the 'customHandler' field for configuring all lifecycle actions.- Instead of using a name to indicate the built-in action implementations in Lorry, the recommended approach will be to explicitly invoke the desired action implementation through a gRPC interface exposed by the sidecar agent.- Developers will have the flexibility to either use the built-in action implementations provided by Lorry or develop their own sidecar agent to implement custom actions and expose them via gRPC interfaces.- This change will allow for greater customization and extensibility of lifecycle actions, as developers can create their own 'builtin' implementations tailored to their specific requirements.", + "pre_condition": schema.StringAttribute{ + Description: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", + MarkdownDescription: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", Required: false, Optional: true, Computed: false, }, - "custom_handler": schema.SingleNestedAttribute{ - Description: "Specifies a user-defined hook or procedure that is called to perform the specific lifecycle action.It offers a flexible and expandable approach for customizing the behavior of a Component by leveragingtailored actions.An Action can be implemented as either an ExecAction or an HTTPAction, with future versions planningto support GRPCAction,thereby accommodating unique logic for different database systems within the Action's framework.In future iterations, all built-in handlers are expected to transition to GRPCAction.This change means that Lorry or other sidecar agents will expose the implementation of actionsthrough a GRPC interface for external invocation.Then the controller will interact with these actions via GRPCAction calls.", - MarkdownDescription: "Specifies a user-defined hook or procedure that is called to perform the specific lifecycle action.It offers a flexible and expandable approach for customizing the behavior of a Component by leveragingtailored actions.An Action can be implemented as either an ExecAction or an HTTPAction, with future versions planningto support GRPCAction,thereby accommodating unique logic for different database systems within the Action's framework.In future iterations, all built-in handlers are expected to transition to GRPCAction.This change means that Lorry or other sidecar agents will expose the implementation of actionsthrough a GRPC interface for external invocation.Then the controller will interact with these actions via GRPCAction calls.", + "retry_policy": schema.SingleNestedAttribute{ + Description: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", + MarkdownDescription: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", Attributes: map[string]schema.Attribute{ - "exec": schema.SingleNestedAttribute{ - Description: "Defines the command to run.This field cannot be updated.", - MarkdownDescription: "Defines the command to run.This field cannot be updated.", - Attributes: map[string]schema.Attribute{ - "args": schema.ListAttribute{ - Description: "Args represents the arguments that are passed to the 'command' for execution.", - MarkdownDescription: "Args represents the arguments that are passed to the 'command' for execution.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - - "command": schema.ListAttribute{ - Description: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", - MarkdownDescription: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - - "container": schema.StringAttribute{ - Description: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - MarkdownDescription: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - Required: false, - Optional: true, - Computed: false, - }, - - "env": schema.ListNestedAttribute{ - Description: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", - MarkdownDescription: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "name": schema.StringAttribute{ - Description: "Name of the environment variable. Must be a C_IDENTIFIER.", - MarkdownDescription: "Name of the environment variable. Must be a C_IDENTIFIER.", - Required: true, - Optional: false, - Computed: false, - }, - - "value": schema.StringAttribute{ - Description: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", - MarkdownDescription: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", - Required: false, - Optional: true, - Computed: false, - }, - - "value_from": schema.SingleNestedAttribute{ - Description: "Source for the environment variable's value. Cannot be used if value is not empty.", - MarkdownDescription: "Source for the environment variable's value. Cannot be used if value is not empty.", - Attributes: map[string]schema.Attribute{ - "config_map_key_ref": schema.SingleNestedAttribute{ - Description: "Selects a key of a ConfigMap.", - MarkdownDescription: "Selects a key of a ConfigMap.", - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "The key to select.", - MarkdownDescription: "The key to select.", - Required: true, - Optional: false, - Computed: false, - }, - - "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - Required: false, - Optional: true, - Computed: false, - }, - - "optional": schema.BoolAttribute{ - Description: "Specify whether the ConfigMap or its key must be defined", - MarkdownDescription: "Specify whether the ConfigMap or its key must be defined", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "field_ref": schema.SingleNestedAttribute{ - Description: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", - MarkdownDescription: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", - Attributes: map[string]schema.Attribute{ - "api_version": schema.StringAttribute{ - Description: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", - MarkdownDescription: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", - Required: false, - Optional: true, - Computed: false, - }, - - "field_path": schema.StringAttribute{ - Description: "Path of the field to select in the specified API version.", - MarkdownDescription: "Path of the field to select in the specified API version.", - Required: true, - Optional: false, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "resource_field_ref": schema.SingleNestedAttribute{ - Description: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", - MarkdownDescription: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", - Attributes: map[string]schema.Attribute{ - "container_name": schema.StringAttribute{ - Description: "Container name: required for volumes, optional for env vars", - MarkdownDescription: "Container name: required for volumes, optional for env vars", - Required: false, - Optional: true, - Computed: false, - }, - - "divisor": schema.StringAttribute{ - Description: "Specifies the output format of the exposed resources, defaults to '1'", - MarkdownDescription: "Specifies the output format of the exposed resources, defaults to '1'", - Required: false, - Optional: true, - Computed: false, - }, - - "resource": schema.StringAttribute{ - Description: "Required: resource to select", - MarkdownDescription: "Required: resource to select", - Required: true, - Optional: false, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "secret_key_ref": schema.SingleNestedAttribute{ - Description: "Selects a key of a secret in the pod's namespace", - MarkdownDescription: "Selects a key of a secret in the pod's namespace", - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "The key of the secret to select from. Must be a valid secret key.", - MarkdownDescription: "The key of the secret to select from. Must be a valid secret key.", - Required: true, - Optional: false, - Computed: false, - }, - - "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - Required: false, - Optional: true, - Computed: false, - }, - - "optional": schema.BoolAttribute{ - Description: "Specify whether the Secret or its key must be defined", - MarkdownDescription: "Specify whether the Secret or its key must be defined", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "image": schema.StringAttribute{ - Description: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", - MarkdownDescription: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", - Required: false, - Optional: true, - Computed: false, - }, - - "matching_key": schema.StringAttribute{ - Description: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - MarkdownDescription: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - Required: false, - Optional: true, - Computed: false, - }, - - "target_pod_selector": schema.StringAttribute{ - Description: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - MarkdownDescription: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - Required: false, - Optional: true, - Computed: false, - Validators: []validator.String{ - stringvalidator.OneOf("Any", "All", "Role", "Ordinal"), - }, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "pre_condition": schema.StringAttribute{ - Description: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", - MarkdownDescription: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", + "max_retries": schema.Int64Attribute{ + Description: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", + MarkdownDescription: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", Required: false, Optional: true, Computed: false, }, - "retry_policy": schema.SingleNestedAttribute{ - Description: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", - MarkdownDescription: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", - Attributes: map[string]schema.Attribute{ - "max_retries": schema.Int64Attribute{ - Description: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", - MarkdownDescription: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", - Required: false, - Optional: true, - Computed: false, - }, - - "retry_interval": schema.Int64Attribute{ - Description: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", - MarkdownDescription: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "timeout_seconds": schema.Int64Attribute{ - Description: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", - MarkdownDescription: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", + "retry_interval": schema.Int64Attribute{ + Description: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", + MarkdownDescription: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", Required: false, Optional: true, Computed: false, @@ -4796,205 +4847,196 @@ func (r *AppsKubeblocksIoComponentDefinitionV1Alpha1Manifest) Schema(_ context.C Optional: true, Computed: false, }, + + "timeout_seconds": schema.Int64Attribute{ + Description: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", + MarkdownDescription: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", + Required: false, + Optional: true, + Computed: false, + }, }, Required: false, Optional: true, Computed: false, }, - "readwrite": schema.SingleNestedAttribute{ - Description: "Defines the procedure to transition a replica from the read-only state back to the read-write state.Use Case:This action is used to bring back a replica that was previously in a read-only state,which restricted write operations, to its normal operational state where it can handleboth read and write operations.The container executing this action has access to following environment variables:- KB_POD_FQDN: The FQDN of the replica pod whose role is being checked.- KB_SERVICE_PORT: The port used by the database service.- KB_SERVICE_USER: The username with the necessary permissions to interact with the database service.- KB_SERVICE_PASSWORD: The corresponding password for KB_SERVICE_USER to authenticate with the database service.Expected action output:- On Failure: An error message, if applicable, indicating why the action failed.Note: This field is immutable once it has been set.", - MarkdownDescription: "Defines the procedure to transition a replica from the read-only state back to the read-write state.Use Case:This action is used to bring back a replica that was previously in a read-only state,which restricted write operations, to its normal operational state where it can handleboth read and write operations.The container executing this action has access to following environment variables:- KB_POD_FQDN: The FQDN of the replica pod whose role is being checked.- KB_SERVICE_PORT: The port used by the database service.- KB_SERVICE_USER: The username with the necessary permissions to interact with the database service.- KB_SERVICE_PASSWORD: The corresponding password for KB_SERVICE_USER to authenticate with the database service.Expected action output:- On Failure: An error message, if applicable, indicating why the action failed.Note: This field is immutable once it has been set.", + "reconfigure": schema.SingleNestedAttribute{ + Description: "Defines the procedure that update a replica with new configuration.Note: This field is immutable once it has been set.This Action is reserved for future versions.", + MarkdownDescription: "Defines the procedure that update a replica with new configuration.Note: This field is immutable once it has been set.This Action is reserved for future versions.", Attributes: map[string]schema.Attribute{ - "builtin_handler": schema.StringAttribute{ - Description: "Specifies the name of the predefined action handler to be invoked for lifecycle actions.Lorry, as a sidecar agent co-located with the database container in the same Pod,includes a suite of built-in action implementations that are tailored to different database engines.These are known as 'builtin' handlers, includes: 'mysql', 'redis', 'mongodb', 'etcd','postgresql', 'official-postgresql', 'apecloud-postgresql', 'wesql', 'oceanbase', 'polardbx'.If the 'builtinHandler' field is specified, it instructs Lorry to utilize its internal built-in action handlerto execute the specified lifecycle actions.The 'builtinHandler' field is of type 'BuiltinActionHandlerType',which represents the name of the built-in handler.The 'builtinHandler' specified within the same 'ComponentLifecycleActions' should be consistent across allactions.This means that if you specify a built-in handler for one action, you should use the same handlerfor all other actions throughout the entire 'ComponentLifecycleActions' collection.If you need to define lifecycle actions for database engines not covered by the existing built-in support,or when the pre-existing built-in handlers do not meet your specific needs,you can use the 'customHandler' field to define your own action implementation.Deprecation Notice:- In the future, the 'builtinHandler' field will be deprecated in favor of using the 'customHandler' field for configuring all lifecycle actions.- Instead of using a name to indicate the built-in action implementations in Lorry, the recommended approach will be to explicitly invoke the desired action implementation through a gRPC interface exposed by the sidecar agent.- Developers will have the flexibility to either use the built-in action implementations provided by Lorry or develop their own sidecar agent to implement custom actions and expose them via gRPC interfaces.- This change will allow for greater customization and extensibility of lifecycle actions, as developers can create their own 'builtin' implementations tailored to their specific requirements.", - MarkdownDescription: "Specifies the name of the predefined action handler to be invoked for lifecycle actions.Lorry, as a sidecar agent co-located with the database container in the same Pod,includes a suite of built-in action implementations that are tailored to different database engines.These are known as 'builtin' handlers, includes: 'mysql', 'redis', 'mongodb', 'etcd','postgresql', 'official-postgresql', 'apecloud-postgresql', 'wesql', 'oceanbase', 'polardbx'.If the 'builtinHandler' field is specified, it instructs Lorry to utilize its internal built-in action handlerto execute the specified lifecycle actions.The 'builtinHandler' field is of type 'BuiltinActionHandlerType',which represents the name of the built-in handler.The 'builtinHandler' specified within the same 'ComponentLifecycleActions' should be consistent across allactions.This means that if you specify a built-in handler for one action, you should use the same handlerfor all other actions throughout the entire 'ComponentLifecycleActions' collection.If you need to define lifecycle actions for database engines not covered by the existing built-in support,or when the pre-existing built-in handlers do not meet your specific needs,you can use the 'customHandler' field to define your own action implementation.Deprecation Notice:- In the future, the 'builtinHandler' field will be deprecated in favor of using the 'customHandler' field for configuring all lifecycle actions.- Instead of using a name to indicate the built-in action implementations in Lorry, the recommended approach will be to explicitly invoke the desired action implementation through a gRPC interface exposed by the sidecar agent.- Developers will have the flexibility to either use the built-in action implementations provided by Lorry or develop their own sidecar agent to implement custom actions and expose them via gRPC interfaces.- This change will allow for greater customization and extensibility of lifecycle actions, as developers can create their own 'builtin' implementations tailored to their specific requirements.", - Required: false, - Optional: true, - Computed: false, - }, - - "custom_handler": schema.SingleNestedAttribute{ - Description: "Specifies a user-defined hook or procedure that is called to perform the specific lifecycle action.It offers a flexible and expandable approach for customizing the behavior of a Component by leveragingtailored actions.An Action can be implemented as either an ExecAction or an HTTPAction, with future versions planningto support GRPCAction,thereby accommodating unique logic for different database systems within the Action's framework.In future iterations, all built-in handlers are expected to transition to GRPCAction.This change means that Lorry or other sidecar agents will expose the implementation of actionsthrough a GRPC interface for external invocation.Then the controller will interact with these actions via GRPCAction calls.", - MarkdownDescription: "Specifies a user-defined hook or procedure that is called to perform the specific lifecycle action.It offers a flexible and expandable approach for customizing the behavior of a Component by leveragingtailored actions.An Action can be implemented as either an ExecAction or an HTTPAction, with future versions planningto support GRPCAction,thereby accommodating unique logic for different database systems within the Action's framework.In future iterations, all built-in handlers are expected to transition to GRPCAction.This change means that Lorry or other sidecar agents will expose the implementation of actionsthrough a GRPC interface for external invocation.Then the controller will interact with these actions via GRPCAction calls.", + "exec": schema.SingleNestedAttribute{ + Description: "Defines the command to run.This field cannot be updated.", + MarkdownDescription: "Defines the command to run.This field cannot be updated.", Attributes: map[string]schema.Attribute{ - "exec": schema.SingleNestedAttribute{ - Description: "Defines the command to run.This field cannot be updated.", - MarkdownDescription: "Defines the command to run.This field cannot be updated.", - Attributes: map[string]schema.Attribute{ - "args": schema.ListAttribute{ - Description: "Args represents the arguments that are passed to the 'command' for execution.", - MarkdownDescription: "Args represents the arguments that are passed to the 'command' for execution.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, + "args": schema.ListAttribute{ + Description: "Args represents the arguments that are passed to the 'command' for execution.", + MarkdownDescription: "Args represents the arguments that are passed to the 'command' for execution.", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, - "command": schema.ListAttribute{ - Description: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", - MarkdownDescription: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, + "command": schema.ListAttribute{ + Description: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", + MarkdownDescription: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, - "container": schema.StringAttribute{ - Description: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - MarkdownDescription: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - Required: false, - Optional: true, - Computed: false, - }, + "container": schema.StringAttribute{ + Description: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + MarkdownDescription: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + Required: false, + Optional: true, + Computed: false, + }, - "env": schema.ListNestedAttribute{ - Description: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", - MarkdownDescription: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "name": schema.StringAttribute{ - Description: "Name of the environment variable. Must be a C_IDENTIFIER.", - MarkdownDescription: "Name of the environment variable. Must be a C_IDENTIFIER.", - Required: true, - Optional: false, - Computed: false, - }, + "env": schema.ListNestedAttribute{ + Description: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", + MarkdownDescription: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "name": schema.StringAttribute{ + Description: "Name of the environment variable. Must be a C_IDENTIFIER.", + MarkdownDescription: "Name of the environment variable. Must be a C_IDENTIFIER.", + Required: true, + Optional: false, + Computed: false, + }, - "value": schema.StringAttribute{ - Description: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", - MarkdownDescription: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", - Required: false, - Optional: true, - Computed: false, - }, + "value": schema.StringAttribute{ + Description: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", + MarkdownDescription: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", + Required: false, + Optional: true, + Computed: false, + }, - "value_from": schema.SingleNestedAttribute{ - Description: "Source for the environment variable's value. Cannot be used if value is not empty.", - MarkdownDescription: "Source for the environment variable's value. Cannot be used if value is not empty.", + "value_from": schema.SingleNestedAttribute{ + Description: "Source for the environment variable's value. Cannot be used if value is not empty.", + MarkdownDescription: "Source for the environment variable's value. Cannot be used if value is not empty.", + Attributes: map[string]schema.Attribute{ + "config_map_key_ref": schema.SingleNestedAttribute{ + Description: "Selects a key of a ConfigMap.", + MarkdownDescription: "Selects a key of a ConfigMap.", Attributes: map[string]schema.Attribute{ - "config_map_key_ref": schema.SingleNestedAttribute{ - Description: "Selects a key of a ConfigMap.", - MarkdownDescription: "Selects a key of a ConfigMap.", - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "The key to select.", - MarkdownDescription: "The key to select.", - Required: true, - Optional: false, - Computed: false, - }, + "key": schema.StringAttribute{ + Description: "The key to select.", + MarkdownDescription: "The key to select.", + Required: true, + Optional: false, + Computed: false, + }, - "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - Required: false, - Optional: true, - Computed: false, - }, + "name": schema.StringAttribute{ + Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Required: false, + Optional: true, + Computed: false, + }, - "optional": schema.BoolAttribute{ - Description: "Specify whether the ConfigMap or its key must be defined", - MarkdownDescription: "Specify whether the ConfigMap or its key must be defined", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "optional": schema.BoolAttribute{ + Description: "Specify whether the ConfigMap or its key must be defined", + MarkdownDescription: "Specify whether the ConfigMap or its key must be defined", + Required: false, + Optional: true, + Computed: false, }, + }, + Required: false, + Optional: true, + Computed: false, + }, - "field_ref": schema.SingleNestedAttribute{ - Description: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", - MarkdownDescription: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", - Attributes: map[string]schema.Attribute{ - "api_version": schema.StringAttribute{ - Description: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", - MarkdownDescription: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", - Required: false, - Optional: true, - Computed: false, - }, + "field_ref": schema.SingleNestedAttribute{ + Description: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", + MarkdownDescription: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", + Attributes: map[string]schema.Attribute{ + "api_version": schema.StringAttribute{ + Description: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", + MarkdownDescription: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", + Required: false, + Optional: true, + Computed: false, + }, - "field_path": schema.StringAttribute{ - Description: "Path of the field to select in the specified API version.", - MarkdownDescription: "Path of the field to select in the specified API version.", - Required: true, - Optional: false, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "field_path": schema.StringAttribute{ + Description: "Path of the field to select in the specified API version.", + MarkdownDescription: "Path of the field to select in the specified API version.", + Required: true, + Optional: false, + Computed: false, }, + }, + Required: false, + Optional: true, + Computed: false, + }, - "resource_field_ref": schema.SingleNestedAttribute{ - Description: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", - MarkdownDescription: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", - Attributes: map[string]schema.Attribute{ - "container_name": schema.StringAttribute{ - Description: "Container name: required for volumes, optional for env vars", - MarkdownDescription: "Container name: required for volumes, optional for env vars", - Required: false, - Optional: true, - Computed: false, - }, + "resource_field_ref": schema.SingleNestedAttribute{ + Description: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", + MarkdownDescription: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", + Attributes: map[string]schema.Attribute{ + "container_name": schema.StringAttribute{ + Description: "Container name: required for volumes, optional for env vars", + MarkdownDescription: "Container name: required for volumes, optional for env vars", + Required: false, + Optional: true, + Computed: false, + }, - "divisor": schema.StringAttribute{ - Description: "Specifies the output format of the exposed resources, defaults to '1'", - MarkdownDescription: "Specifies the output format of the exposed resources, defaults to '1'", - Required: false, - Optional: true, - Computed: false, - }, + "divisor": schema.StringAttribute{ + Description: "Specifies the output format of the exposed resources, defaults to '1'", + MarkdownDescription: "Specifies the output format of the exposed resources, defaults to '1'", + Required: false, + Optional: true, + Computed: false, + }, - "resource": schema.StringAttribute{ - Description: "Required: resource to select", - MarkdownDescription: "Required: resource to select", - Required: true, - Optional: false, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "resource": schema.StringAttribute{ + Description: "Required: resource to select", + MarkdownDescription: "Required: resource to select", + Required: true, + Optional: false, + Computed: false, }, + }, + Required: false, + Optional: true, + Computed: false, + }, - "secret_key_ref": schema.SingleNestedAttribute{ - Description: "Selects a key of a secret in the pod's namespace", - MarkdownDescription: "Selects a key of a secret in the pod's namespace", - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "The key of the secret to select from. Must be a valid secret key.", - MarkdownDescription: "The key of the secret to select from. Must be a valid secret key.", - Required: true, - Optional: false, - Computed: false, - }, + "secret_key_ref": schema.SingleNestedAttribute{ + Description: "Selects a key of a secret in the pod's namespace", + MarkdownDescription: "Selects a key of a secret in the pod's namespace", + Attributes: map[string]schema.Attribute{ + "key": schema.StringAttribute{ + Description: "The key of the secret to select from. Must be a valid secret key.", + MarkdownDescription: "The key of the secret to select from. Must be a valid secret key.", + Required: true, + Optional: false, + Computed: false, + }, - "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - Required: false, - Optional: true, - Computed: false, - }, + "name": schema.StringAttribute{ + Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Required: false, + Optional: true, + Computed: false, + }, - "optional": schema.BoolAttribute{ - Description: "Specify whether the Secret or its key must be defined", - MarkdownDescription: "Specify whether the Secret or its key must be defined", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "optional": schema.BoolAttribute{ + Description: "Specify whether the Secret or its key must be defined", + MarkdownDescription: "Specify whether the Secret or its key must be defined", + Required: false, + Optional: true, + Computed: false, }, }, Required: false, @@ -5002,36 +5044,9 @@ func (r *AppsKubeblocksIoComponentDefinitionV1Alpha1Manifest) Schema(_ context.C Computed: false, }, }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "image": schema.StringAttribute{ - Description: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", - MarkdownDescription: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", - Required: false, - Optional: true, - Computed: false, - }, - - "matching_key": schema.StringAttribute{ - Description: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - MarkdownDescription: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - Required: false, - Optional: true, - Computed: false, - }, - - "target_pod_selector": schema.StringAttribute{ - Description: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - MarkdownDescription: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - Required: false, - Optional: true, - Computed: false, - Validators: []validator.String{ - stringvalidator.OneOf("Any", "All", "Role", "Ordinal"), + Required: false, + Optional: true, + Computed: false, }, }, }, @@ -5040,331 +5055,61 @@ func (r *AppsKubeblocksIoComponentDefinitionV1Alpha1Manifest) Schema(_ context.C Computed: false, }, - "pre_condition": schema.StringAttribute{ - Description: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", - MarkdownDescription: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", + "image": schema.StringAttribute{ + Description: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", + MarkdownDescription: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", Required: false, Optional: true, Computed: false, }, - "retry_policy": schema.SingleNestedAttribute{ - Description: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", - MarkdownDescription: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", - Attributes: map[string]schema.Attribute{ - "max_retries": schema.Int64Attribute{ - Description: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", - MarkdownDescription: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", - Required: false, - Optional: true, - Computed: false, - }, - - "retry_interval": schema.Int64Attribute{ - Description: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", - MarkdownDescription: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "matching_key": schema.StringAttribute{ + Description: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + MarkdownDescription: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + Required: false, + Optional: true, + Computed: false, }, - "timeout_seconds": schema.Int64Attribute{ - Description: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", - MarkdownDescription: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", + "target_pod_selector": schema.StringAttribute{ + Description: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + MarkdownDescription: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", Required: false, Optional: true, Computed: false, + Validators: []validator.String{ + stringvalidator.OneOf("Any", "All", "Role", "Ordinal"), + }, }, }, Required: false, Optional: true, Computed: false, }, - }, - Required: false, - Optional: true, - Computed: false, - }, - "reconfigure": schema.SingleNestedAttribute{ - Description: "Defines the procedure that update a replica with new configuration.Note: This field is immutable once it has been set.This Action is reserved for future versions.", - MarkdownDescription: "Defines the procedure that update a replica with new configuration.Note: This field is immutable once it has been set.This Action is reserved for future versions.", - Attributes: map[string]schema.Attribute{ - "builtin_handler": schema.StringAttribute{ - Description: "Specifies the name of the predefined action handler to be invoked for lifecycle actions.Lorry, as a sidecar agent co-located with the database container in the same Pod,includes a suite of built-in action implementations that are tailored to different database engines.These are known as 'builtin' handlers, includes: 'mysql', 'redis', 'mongodb', 'etcd','postgresql', 'official-postgresql', 'apecloud-postgresql', 'wesql', 'oceanbase', 'polardbx'.If the 'builtinHandler' field is specified, it instructs Lorry to utilize its internal built-in action handlerto execute the specified lifecycle actions.The 'builtinHandler' field is of type 'BuiltinActionHandlerType',which represents the name of the built-in handler.The 'builtinHandler' specified within the same 'ComponentLifecycleActions' should be consistent across allactions.This means that if you specify a built-in handler for one action, you should use the same handlerfor all other actions throughout the entire 'ComponentLifecycleActions' collection.If you need to define lifecycle actions for database engines not covered by the existing built-in support,or when the pre-existing built-in handlers do not meet your specific needs,you can use the 'customHandler' field to define your own action implementation.Deprecation Notice:- In the future, the 'builtinHandler' field will be deprecated in favor of using the 'customHandler' field for configuring all lifecycle actions.- Instead of using a name to indicate the built-in action implementations in Lorry, the recommended approach will be to explicitly invoke the desired action implementation through a gRPC interface exposed by the sidecar agent.- Developers will have the flexibility to either use the built-in action implementations provided by Lorry or develop their own sidecar agent to implement custom actions and expose them via gRPC interfaces.- This change will allow for greater customization and extensibility of lifecycle actions, as developers can create their own 'builtin' implementations tailored to their specific requirements.", - MarkdownDescription: "Specifies the name of the predefined action handler to be invoked for lifecycle actions.Lorry, as a sidecar agent co-located with the database container in the same Pod,includes a suite of built-in action implementations that are tailored to different database engines.These are known as 'builtin' handlers, includes: 'mysql', 'redis', 'mongodb', 'etcd','postgresql', 'official-postgresql', 'apecloud-postgresql', 'wesql', 'oceanbase', 'polardbx'.If the 'builtinHandler' field is specified, it instructs Lorry to utilize its internal built-in action handlerto execute the specified lifecycle actions.The 'builtinHandler' field is of type 'BuiltinActionHandlerType',which represents the name of the built-in handler.The 'builtinHandler' specified within the same 'ComponentLifecycleActions' should be consistent across allactions.This means that if you specify a built-in handler for one action, you should use the same handlerfor all other actions throughout the entire 'ComponentLifecycleActions' collection.If you need to define lifecycle actions for database engines not covered by the existing built-in support,or when the pre-existing built-in handlers do not meet your specific needs,you can use the 'customHandler' field to define your own action implementation.Deprecation Notice:- In the future, the 'builtinHandler' field will be deprecated in favor of using the 'customHandler' field for configuring all lifecycle actions.- Instead of using a name to indicate the built-in action implementations in Lorry, the recommended approach will be to explicitly invoke the desired action implementation through a gRPC interface exposed by the sidecar agent.- Developers will have the flexibility to either use the built-in action implementations provided by Lorry or develop their own sidecar agent to implement custom actions and expose them via gRPC interfaces.- This change will allow for greater customization and extensibility of lifecycle actions, as developers can create their own 'builtin' implementations tailored to their specific requirements.", + "pre_condition": schema.StringAttribute{ + Description: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", + MarkdownDescription: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", Required: false, Optional: true, Computed: false, }, - "custom_handler": schema.SingleNestedAttribute{ - Description: "Specifies a user-defined hook or procedure that is called to perform the specific lifecycle action.It offers a flexible and expandable approach for customizing the behavior of a Component by leveragingtailored actions.An Action can be implemented as either an ExecAction or an HTTPAction, with future versions planningto support GRPCAction,thereby accommodating unique logic for different database systems within the Action's framework.In future iterations, all built-in handlers are expected to transition to GRPCAction.This change means that Lorry or other sidecar agents will expose the implementation of actionsthrough a GRPC interface for external invocation.Then the controller will interact with these actions via GRPCAction calls.", - MarkdownDescription: "Specifies a user-defined hook or procedure that is called to perform the specific lifecycle action.It offers a flexible and expandable approach for customizing the behavior of a Component by leveragingtailored actions.An Action can be implemented as either an ExecAction or an HTTPAction, with future versions planningto support GRPCAction,thereby accommodating unique logic for different database systems within the Action's framework.In future iterations, all built-in handlers are expected to transition to GRPCAction.This change means that Lorry or other sidecar agents will expose the implementation of actionsthrough a GRPC interface for external invocation.Then the controller will interact with these actions via GRPCAction calls.", + "retry_policy": schema.SingleNestedAttribute{ + Description: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", + MarkdownDescription: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", Attributes: map[string]schema.Attribute{ - "exec": schema.SingleNestedAttribute{ - Description: "Defines the command to run.This field cannot be updated.", - MarkdownDescription: "Defines the command to run.This field cannot be updated.", - Attributes: map[string]schema.Attribute{ - "args": schema.ListAttribute{ - Description: "Args represents the arguments that are passed to the 'command' for execution.", - MarkdownDescription: "Args represents the arguments that are passed to the 'command' for execution.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - - "command": schema.ListAttribute{ - Description: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", - MarkdownDescription: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - - "container": schema.StringAttribute{ - Description: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - MarkdownDescription: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - Required: false, - Optional: true, - Computed: false, - }, - - "env": schema.ListNestedAttribute{ - Description: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", - MarkdownDescription: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "name": schema.StringAttribute{ - Description: "Name of the environment variable. Must be a C_IDENTIFIER.", - MarkdownDescription: "Name of the environment variable. Must be a C_IDENTIFIER.", - Required: true, - Optional: false, - Computed: false, - }, - - "value": schema.StringAttribute{ - Description: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", - MarkdownDescription: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", - Required: false, - Optional: true, - Computed: false, - }, - - "value_from": schema.SingleNestedAttribute{ - Description: "Source for the environment variable's value. Cannot be used if value is not empty.", - MarkdownDescription: "Source for the environment variable's value. Cannot be used if value is not empty.", - Attributes: map[string]schema.Attribute{ - "config_map_key_ref": schema.SingleNestedAttribute{ - Description: "Selects a key of a ConfigMap.", - MarkdownDescription: "Selects a key of a ConfigMap.", - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "The key to select.", - MarkdownDescription: "The key to select.", - Required: true, - Optional: false, - Computed: false, - }, - - "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - Required: false, - Optional: true, - Computed: false, - }, - - "optional": schema.BoolAttribute{ - Description: "Specify whether the ConfigMap or its key must be defined", - MarkdownDescription: "Specify whether the ConfigMap or its key must be defined", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "field_ref": schema.SingleNestedAttribute{ - Description: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", - MarkdownDescription: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", - Attributes: map[string]schema.Attribute{ - "api_version": schema.StringAttribute{ - Description: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", - MarkdownDescription: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", - Required: false, - Optional: true, - Computed: false, - }, - - "field_path": schema.StringAttribute{ - Description: "Path of the field to select in the specified API version.", - MarkdownDescription: "Path of the field to select in the specified API version.", - Required: true, - Optional: false, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "resource_field_ref": schema.SingleNestedAttribute{ - Description: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", - MarkdownDescription: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", - Attributes: map[string]schema.Attribute{ - "container_name": schema.StringAttribute{ - Description: "Container name: required for volumes, optional for env vars", - MarkdownDescription: "Container name: required for volumes, optional for env vars", - Required: false, - Optional: true, - Computed: false, - }, - - "divisor": schema.StringAttribute{ - Description: "Specifies the output format of the exposed resources, defaults to '1'", - MarkdownDescription: "Specifies the output format of the exposed resources, defaults to '1'", - Required: false, - Optional: true, - Computed: false, - }, - - "resource": schema.StringAttribute{ - Description: "Required: resource to select", - MarkdownDescription: "Required: resource to select", - Required: true, - Optional: false, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "secret_key_ref": schema.SingleNestedAttribute{ - Description: "Selects a key of a secret in the pod's namespace", - MarkdownDescription: "Selects a key of a secret in the pod's namespace", - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "The key of the secret to select from. Must be a valid secret key.", - MarkdownDescription: "The key of the secret to select from. Must be a valid secret key.", - Required: true, - Optional: false, - Computed: false, - }, - - "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - Required: false, - Optional: true, - Computed: false, - }, - - "optional": schema.BoolAttribute{ - Description: "Specify whether the Secret or its key must be defined", - MarkdownDescription: "Specify whether the Secret or its key must be defined", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "image": schema.StringAttribute{ - Description: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", - MarkdownDescription: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", - Required: false, - Optional: true, - Computed: false, - }, - - "matching_key": schema.StringAttribute{ - Description: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - MarkdownDescription: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - Required: false, - Optional: true, - Computed: false, - }, - - "target_pod_selector": schema.StringAttribute{ - Description: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - MarkdownDescription: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - Required: false, - Optional: true, - Computed: false, - Validators: []validator.String{ - stringvalidator.OneOf("Any", "All", "Role", "Ordinal"), - }, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "pre_condition": schema.StringAttribute{ - Description: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", - MarkdownDescription: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", - Required: false, - Optional: true, - Computed: false, - }, - - "retry_policy": schema.SingleNestedAttribute{ - Description: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", - MarkdownDescription: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", - Attributes: map[string]schema.Attribute{ - "max_retries": schema.Int64Attribute{ - Description: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", - MarkdownDescription: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", - Required: false, - Optional: true, - Computed: false, - }, - - "retry_interval": schema.Int64Attribute{ - Description: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", - MarkdownDescription: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "max_retries": schema.Int64Attribute{ + Description: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", + MarkdownDescription: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", + Required: false, + Optional: true, + Computed: false, }, - "timeout_seconds": schema.Int64Attribute{ - Description: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", - MarkdownDescription: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", + "retry_interval": schema.Int64Attribute{ + Description: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", + MarkdownDescription: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", Required: false, Optional: true, Computed: false, @@ -5374,6 +5119,14 @@ func (r *AppsKubeblocksIoComponentDefinitionV1Alpha1Manifest) Schema(_ context.C Optional: true, Computed: false, }, + + "timeout_seconds": schema.Int64Attribute{ + Description: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", + MarkdownDescription: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", + Required: false, + Optional: true, + Computed: false, + }, }, Required: false, Optional: true, @@ -5381,17 +5134,9 @@ func (r *AppsKubeblocksIoComponentDefinitionV1Alpha1Manifest) Schema(_ context.C }, "role_probe": schema.SingleNestedAttribute{ - Description: "Defines the procedure which is invoked regularly to assess the role of replicas.This action is periodically triggered by Lorry at the specified interval to determine the role of each replica.Upon successful execution, the action's output designates the role of the replica,which should match one of the predefined role names within 'componentDefinition.spec.roles'.The output is then compared with the previous successful execution result.If a role change is detected, an event is generated to inform the controller,which initiates an update of the replica's role.Defining a RoleProbe Action for a Component is required if roles are defined for the Component.It ensures replicas are correctly labeled with their respective roles.Without this, services that rely on roleSelectors might improperly direct traffic to wrong replicas.The container executing this action has access to following environment variables:- KB_POD_FQDN: The FQDN of the Pod whose role is being assessed.- KB_SERVICE_PORT: The port used by the database service.- KB_SERVICE_USER: The username with the necessary permissions to interact with the database service.- KB_SERVICE_PASSWORD: The corresponding password for KB_SERVICE_USER to authenticate with the database service.Expected output of this action:- On Success: The determined role of the replica, which must align with one of the roles specified in the component definition.- On Failure: An error message, if applicable, indicating why the action failed.Note: This field is immutable once it has been set.", - MarkdownDescription: "Defines the procedure which is invoked regularly to assess the role of replicas.This action is periodically triggered by Lorry at the specified interval to determine the role of each replica.Upon successful execution, the action's output designates the role of the replica,which should match one of the predefined role names within 'componentDefinition.spec.roles'.The output is then compared with the previous successful execution result.If a role change is detected, an event is generated to inform the controller,which initiates an update of the replica's role.Defining a RoleProbe Action for a Component is required if roles are defined for the Component.It ensures replicas are correctly labeled with their respective roles.Without this, services that rely on roleSelectors might improperly direct traffic to wrong replicas.The container executing this action has access to following environment variables:- KB_POD_FQDN: The FQDN of the Pod whose role is being assessed.- KB_SERVICE_PORT: The port used by the database service.- KB_SERVICE_USER: The username with the necessary permissions to interact with the database service.- KB_SERVICE_PASSWORD: The corresponding password for KB_SERVICE_USER to authenticate with the database service.Expected output of this action:- On Success: The determined role of the replica, which must align with one of the roles specified in the component definition.- On Failure: An error message, if applicable, indicating why the action failed.Note: This field is immutable once it has been set.", + Description: "Defines the procedure which is invoked regularly to assess the role of replicas.This action is periodically triggered at the specified interval to determine the role of each replica.Upon successful execution, the action's output designates the role of the replica,which should match one of the predefined role names within 'componentDefinition.spec.roles'.The output is then compared with the previous successful execution result.If a role change is detected, an event is generated to inform the controller,which initiates an update of the replica's role.Defining a RoleProbe Action for a Component is required if roles are defined for the Component.It ensures replicas are correctly labeled with their respective roles.Without this, services that rely on roleSelectors might improperly direct traffic to wrong replicas.The container executing this action has access to following variables:- KB_POD_FQDN: The FQDN of the Pod whose role is being assessed.Expected output of this action:- On Success: The determined role of the replica, which must align with one of the roles specified in the component definition.- On Failure: An error message, if applicable, indicating why the action failed.Note: This field is immutable once it has been set.", + MarkdownDescription: "Defines the procedure which is invoked regularly to assess the role of replicas.This action is periodically triggered at the specified interval to determine the role of each replica.Upon successful execution, the action's output designates the role of the replica,which should match one of the predefined role names within 'componentDefinition.spec.roles'.The output is then compared with the previous successful execution result.If a role change is detected, an event is generated to inform the controller,which initiates an update of the replica's role.Defining a RoleProbe Action for a Component is required if roles are defined for the Component.It ensures replicas are correctly labeled with their respective roles.Without this, services that rely on roleSelectors might improperly direct traffic to wrong replicas.The container executing this action has access to following variables:- KB_POD_FQDN: The FQDN of the Pod whose role is being assessed.Expected output of this action:- On Success: The determined role of the replica, which must align with one of the roles specified in the component definition.- On Failure: An error message, if applicable, indicating why the action failed.Note: This field is immutable once it has been set.", Attributes: map[string]schema.Attribute{ - "builtin_handler": schema.StringAttribute{ - Description: "TODO: remove this later.", - MarkdownDescription: "TODO: remove this later.", - Required: false, - Optional: true, - Computed: false, - }, - "exec": schema.SingleNestedAttribute{ Description: "Defines the command to run.This field cannot be updated.", MarkdownDescription: "Defines the command to run.This field cannot be updated.", @@ -5693,213 +5438,181 @@ func (r *AppsKubeblocksIoComponentDefinitionV1Alpha1Manifest) Schema(_ context.C }, "switchover": schema.SingleNestedAttribute{ - Description: "Defines the procedure for a controlled transition of leadership from the current leader to a new replica.This approach aims to minimize downtime and maintain availability in systems with a leader-follower topology,during events such as planned maintenance or when performing stop, shutdown, restart, or upgrade operationsinvolving the current leader node.The container executing this action has access to following environment variables:- KB_SWITCHOVER_CANDIDATE_NAME: The name of the pod for the new leader candidate, which may not be specified (empty).- KB_SWITCHOVER_CANDIDATE_FQDN: The FQDN of the new leader candidate's pod, which may not be specified (empty).- KB_LEADER_POD_IP: The IP address of the current leader's pod prior to the switchover.- KB_LEADER_POD_NAME: The name of the current leader's pod prior to the switchover.- KB_LEADER_POD_FQDN: The FQDN of the current leader's pod prior to the switchover.The environment variables with the following prefixes are deprecated and will be removed in future releases:- KB_REPLICATION_PRIMARY_POD_- KB_CONSENSUS_LEADER_POD_Note: This field is immutable once it has been set.", - MarkdownDescription: "Defines the procedure for a controlled transition of leadership from the current leader to a new replica.This approach aims to minimize downtime and maintain availability in systems with a leader-follower topology,during events such as planned maintenance or when performing stop, shutdown, restart, or upgrade operationsinvolving the current leader node.The container executing this action has access to following environment variables:- KB_SWITCHOVER_CANDIDATE_NAME: The name of the pod for the new leader candidate, which may not be specified (empty).- KB_SWITCHOVER_CANDIDATE_FQDN: The FQDN of the new leader candidate's pod, which may not be specified (empty).- KB_LEADER_POD_IP: The IP address of the current leader's pod prior to the switchover.- KB_LEADER_POD_NAME: The name of the current leader's pod prior to the switchover.- KB_LEADER_POD_FQDN: The FQDN of the current leader's pod prior to the switchover.The environment variables with the following prefixes are deprecated and will be removed in future releases:- KB_REPLICATION_PRIMARY_POD_- KB_CONSENSUS_LEADER_POD_Note: This field is immutable once it has been set.", + Description: "Defines the procedure for a controlled transition of leadership from the current leader to a new replica.This approach aims to minimize downtime and maintain availability in systems with a leader-follower topology,during events such as planned maintenance or when performing stop, shutdown, restart, or upgrade operationsinvolving the current leader node.The container executing this action has access to following environment variables:- KB_LEADER_POD_IP: The IP address of the current leader's pod prior to the switchover.- KB_LEADER_POD_NAME: The name of the current leader's pod prior to the switchover.- KB_LEADER_POD_FQDN: The FQDN of the current leader's pod prior to the switchover.- KB_SWITCHOVER_CANDIDATE_NAME: The name of the pod for the new leader candidate, which may not be specified (empty).- KB_SWITCHOVER_CANDIDATE_FQDN: The FQDN of the new leader candidate's pod, which may not be specified (empty).Note: This field is immutable once it has been set.", + MarkdownDescription: "Defines the procedure for a controlled transition of leadership from the current leader to a new replica.This approach aims to minimize downtime and maintain availability in systems with a leader-follower topology,during events such as planned maintenance or when performing stop, shutdown, restart, or upgrade operationsinvolving the current leader node.The container executing this action has access to following environment variables:- KB_LEADER_POD_IP: The IP address of the current leader's pod prior to the switchover.- KB_LEADER_POD_NAME: The name of the current leader's pod prior to the switchover.- KB_LEADER_POD_FQDN: The FQDN of the current leader's pod prior to the switchover.- KB_SWITCHOVER_CANDIDATE_NAME: The name of the pod for the new leader candidate, which may not be specified (empty).- KB_SWITCHOVER_CANDIDATE_FQDN: The FQDN of the new leader candidate's pod, which may not be specified (empty).Note: This field is immutable once it has been set.", Attributes: map[string]schema.Attribute{ - "script_spec_selectors": schema.ListNestedAttribute{ - Description: "Used to define the selectors for the scriptSpecs that need to be referenced.If this field is set, the scripts defined under the 'scripts' field can be invoked or referenced within an Action.This field is deprecated from v0.9.This field is maintained for backward compatibility and its use is discouraged.Existing usage should be updated to the current preferred approach to avoid compatibility issues in future releases.", - MarkdownDescription: "Used to define the selectors for the scriptSpecs that need to be referenced.If this field is set, the scripts defined under the 'scripts' field can be invoked or referenced within an Action.This field is deprecated from v0.9.This field is maintained for backward compatibility and its use is discouraged.Existing usage should be updated to the current preferred approach to avoid compatibility issues in future releases.", - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "name": schema.StringAttribute{ - Description: "Represents the name of the ScriptSpec referent.", - MarkdownDescription: "Represents the name of the ScriptSpec referent.", - Required: true, - Optional: false, - Computed: false, - Validators: []validator.String{ - stringvalidator.LengthAtMost(63), - stringvalidator.RegexMatches(regexp.MustCompile(`^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$`), ""), - }, - }, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "with_candidate": schema.SingleNestedAttribute{ - Description: "Represents the switchover process for a specified candidate primary or leader instance.Note that only Action.Exec is currently supported, while Action.HTTP is not.", - MarkdownDescription: "Represents the switchover process for a specified candidate primary or leader instance.Note that only Action.Exec is currently supported, while Action.HTTP is not.", + "exec": schema.SingleNestedAttribute{ + Description: "Defines the command to run.This field cannot be updated.", + MarkdownDescription: "Defines the command to run.This field cannot be updated.", Attributes: map[string]schema.Attribute{ - "exec": schema.SingleNestedAttribute{ - Description: "Defines the command to run.This field cannot be updated.", - MarkdownDescription: "Defines the command to run.This field cannot be updated.", - Attributes: map[string]schema.Attribute{ - "args": schema.ListAttribute{ - Description: "Args represents the arguments that are passed to the 'command' for execution.", - MarkdownDescription: "Args represents the arguments that are passed to the 'command' for execution.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, + "args": schema.ListAttribute{ + Description: "Args represents the arguments that are passed to the 'command' for execution.", + MarkdownDescription: "Args represents the arguments that are passed to the 'command' for execution.", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, - "command": schema.ListAttribute{ - Description: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", - MarkdownDescription: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, + "command": schema.ListAttribute{ + Description: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", + MarkdownDescription: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, - "container": schema.StringAttribute{ - Description: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - MarkdownDescription: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - Required: false, - Optional: true, - Computed: false, - }, + "container": schema.StringAttribute{ + Description: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + MarkdownDescription: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + Required: false, + Optional: true, + Computed: false, + }, - "env": schema.ListNestedAttribute{ - Description: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", - MarkdownDescription: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "name": schema.StringAttribute{ - Description: "Name of the environment variable. Must be a C_IDENTIFIER.", - MarkdownDescription: "Name of the environment variable. Must be a C_IDENTIFIER.", - Required: true, - Optional: false, - Computed: false, - }, + "env": schema.ListNestedAttribute{ + Description: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", + MarkdownDescription: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "name": schema.StringAttribute{ + Description: "Name of the environment variable. Must be a C_IDENTIFIER.", + MarkdownDescription: "Name of the environment variable. Must be a C_IDENTIFIER.", + Required: true, + Optional: false, + Computed: false, + }, - "value": schema.StringAttribute{ - Description: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", - MarkdownDescription: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", - Required: false, - Optional: true, - Computed: false, - }, + "value": schema.StringAttribute{ + Description: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", + MarkdownDescription: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", + Required: false, + Optional: true, + Computed: false, + }, - "value_from": schema.SingleNestedAttribute{ - Description: "Source for the environment variable's value. Cannot be used if value is not empty.", - MarkdownDescription: "Source for the environment variable's value. Cannot be used if value is not empty.", + "value_from": schema.SingleNestedAttribute{ + Description: "Source for the environment variable's value. Cannot be used if value is not empty.", + MarkdownDescription: "Source for the environment variable's value. Cannot be used if value is not empty.", + Attributes: map[string]schema.Attribute{ + "config_map_key_ref": schema.SingleNestedAttribute{ + Description: "Selects a key of a ConfigMap.", + MarkdownDescription: "Selects a key of a ConfigMap.", Attributes: map[string]schema.Attribute{ - "config_map_key_ref": schema.SingleNestedAttribute{ - Description: "Selects a key of a ConfigMap.", - MarkdownDescription: "Selects a key of a ConfigMap.", - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "The key to select.", - MarkdownDescription: "The key to select.", - Required: true, - Optional: false, - Computed: false, - }, + "key": schema.StringAttribute{ + Description: "The key to select.", + MarkdownDescription: "The key to select.", + Required: true, + Optional: false, + Computed: false, + }, - "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - Required: false, - Optional: true, - Computed: false, - }, + "name": schema.StringAttribute{ + Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Required: false, + Optional: true, + Computed: false, + }, - "optional": schema.BoolAttribute{ - Description: "Specify whether the ConfigMap or its key must be defined", - MarkdownDescription: "Specify whether the ConfigMap or its key must be defined", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "optional": schema.BoolAttribute{ + Description: "Specify whether the ConfigMap or its key must be defined", + MarkdownDescription: "Specify whether the ConfigMap or its key must be defined", + Required: false, + Optional: true, + Computed: false, }, + }, + Required: false, + Optional: true, + Computed: false, + }, - "field_ref": schema.SingleNestedAttribute{ - Description: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", - MarkdownDescription: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", - Attributes: map[string]schema.Attribute{ - "api_version": schema.StringAttribute{ - Description: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", - MarkdownDescription: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", - Required: false, - Optional: true, - Computed: false, - }, + "field_ref": schema.SingleNestedAttribute{ + Description: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", + MarkdownDescription: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", + Attributes: map[string]schema.Attribute{ + "api_version": schema.StringAttribute{ + Description: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", + MarkdownDescription: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", + Required: false, + Optional: true, + Computed: false, + }, - "field_path": schema.StringAttribute{ - Description: "Path of the field to select in the specified API version.", - MarkdownDescription: "Path of the field to select in the specified API version.", - Required: true, - Optional: false, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "field_path": schema.StringAttribute{ + Description: "Path of the field to select in the specified API version.", + MarkdownDescription: "Path of the field to select in the specified API version.", + Required: true, + Optional: false, + Computed: false, }, + }, + Required: false, + Optional: true, + Computed: false, + }, - "resource_field_ref": schema.SingleNestedAttribute{ - Description: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", - MarkdownDescription: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", - Attributes: map[string]schema.Attribute{ - "container_name": schema.StringAttribute{ - Description: "Container name: required for volumes, optional for env vars", - MarkdownDescription: "Container name: required for volumes, optional for env vars", - Required: false, - Optional: true, - Computed: false, - }, + "resource_field_ref": schema.SingleNestedAttribute{ + Description: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", + MarkdownDescription: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", + Attributes: map[string]schema.Attribute{ + "container_name": schema.StringAttribute{ + Description: "Container name: required for volumes, optional for env vars", + MarkdownDescription: "Container name: required for volumes, optional for env vars", + Required: false, + Optional: true, + Computed: false, + }, - "divisor": schema.StringAttribute{ - Description: "Specifies the output format of the exposed resources, defaults to '1'", - MarkdownDescription: "Specifies the output format of the exposed resources, defaults to '1'", - Required: false, - Optional: true, - Computed: false, - }, + "divisor": schema.StringAttribute{ + Description: "Specifies the output format of the exposed resources, defaults to '1'", + MarkdownDescription: "Specifies the output format of the exposed resources, defaults to '1'", + Required: false, + Optional: true, + Computed: false, + }, - "resource": schema.StringAttribute{ - Description: "Required: resource to select", - MarkdownDescription: "Required: resource to select", - Required: true, - Optional: false, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "resource": schema.StringAttribute{ + Description: "Required: resource to select", + MarkdownDescription: "Required: resource to select", + Required: true, + Optional: false, + Computed: false, }, + }, + Required: false, + Optional: true, + Computed: false, + }, - "secret_key_ref": schema.SingleNestedAttribute{ - Description: "Selects a key of a secret in the pod's namespace", - MarkdownDescription: "Selects a key of a secret in the pod's namespace", - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "The key of the secret to select from. Must be a valid secret key.", - MarkdownDescription: "The key of the secret to select from. Must be a valid secret key.", - Required: true, - Optional: false, - Computed: false, - }, + "secret_key_ref": schema.SingleNestedAttribute{ + Description: "Selects a key of a secret in the pod's namespace", + MarkdownDescription: "Selects a key of a secret in the pod's namespace", + Attributes: map[string]schema.Attribute{ + "key": schema.StringAttribute{ + Description: "The key of the secret to select from. Must be a valid secret key.", + MarkdownDescription: "The key of the secret to select from. Must be a valid secret key.", + Required: true, + Optional: false, + Computed: false, + }, - "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - Required: false, - Optional: true, - Computed: false, - }, + "name": schema.StringAttribute{ + Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", + Required: false, + Optional: true, + Computed: false, + }, - "optional": schema.BoolAttribute{ - Description: "Specify whether the Secret or its key must be defined", - MarkdownDescription: "Specify whether the Secret or its key must be defined", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "optional": schema.BoolAttribute{ + Description: "Specify whether the Secret or its key must be defined", + MarkdownDescription: "Specify whether the Secret or its key must be defined", + Required: false, + Optional: true, + Computed: false, }, }, Required: false, @@ -5907,36 +5620,9 @@ func (r *AppsKubeblocksIoComponentDefinitionV1Alpha1Manifest) Schema(_ context.C Computed: false, }, }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "image": schema.StringAttribute{ - Description: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", - MarkdownDescription: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", - Required: false, - Optional: true, - Computed: false, - }, - - "matching_key": schema.StringAttribute{ - Description: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - MarkdownDescription: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - Required: false, - Optional: true, - Computed: false, - }, - - "target_pod_selector": schema.StringAttribute{ - Description: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - MarkdownDescription: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - Required: false, - Optional: true, - Computed: false, - Validators: []validator.String{ - stringvalidator.OneOf("Any", "All", "Role", "Ordinal"), + Required: false, + Optional: true, + Computed: false, }, }, }, @@ -5945,45 +5631,31 @@ func (r *AppsKubeblocksIoComponentDefinitionV1Alpha1Manifest) Schema(_ context.C Computed: false, }, - "pre_condition": schema.StringAttribute{ - Description: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", - MarkdownDescription: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", + "image": schema.StringAttribute{ + Description: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", + MarkdownDescription: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", Required: false, Optional: true, Computed: false, }, - "retry_policy": schema.SingleNestedAttribute{ - Description: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", - MarkdownDescription: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", - Attributes: map[string]schema.Attribute{ - "max_retries": schema.Int64Attribute{ - Description: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", - MarkdownDescription: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", - Required: false, - Optional: true, - Computed: false, - }, - - "retry_interval": schema.Int64Attribute{ - Description: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", - MarkdownDescription: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + "matching_key": schema.StringAttribute{ + Description: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + MarkdownDescription: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + Required: false, + Optional: true, + Computed: false, }, - "timeout_seconds": schema.Int64Attribute{ - Description: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", - MarkdownDescription: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", + "target_pod_selector": schema.StringAttribute{ + Description: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", + MarkdownDescription: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", Required: false, Optional: true, Computed: false, + Validators: []validator.String{ + stringvalidator.OneOf("Any", "All", "Role", "Ordinal"), + }, }, }, Required: false, @@ -5991,268 +5663,29 @@ func (r *AppsKubeblocksIoComponentDefinitionV1Alpha1Manifest) Schema(_ context.C Computed: false, }, - "without_candidate": schema.SingleNestedAttribute{ - Description: "Represents a switchover process that does not involve a specific candidate primary or leader instance.As with the previous field, only Action.Exec is currently supported, not Action.HTTP.", - MarkdownDescription: "Represents a switchover process that does not involve a specific candidate primary or leader instance.As with the previous field, only Action.Exec is currently supported, not Action.HTTP.", - Attributes: map[string]schema.Attribute{ - "exec": schema.SingleNestedAttribute{ - Description: "Defines the command to run.This field cannot be updated.", - MarkdownDescription: "Defines the command to run.This field cannot be updated.", - Attributes: map[string]schema.Attribute{ - "args": schema.ListAttribute{ - Description: "Args represents the arguments that are passed to the 'command' for execution.", - MarkdownDescription: "Args represents the arguments that are passed to the 'command' for execution.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - - "command": schema.ListAttribute{ - Description: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", - MarkdownDescription: "Specifies the command to be executed inside the container.The working directory for this command is the container's root directory('/').Commands are executed directly without a shell environment, meaning shell-specific syntax ('|', etc.) is not supported.If the shell is required, it must be explicitly invoked in the command.A successful execution is indicated by an exit status of 0; any non-zero status signifies a failure.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - - "container": schema.StringAttribute{ - Description: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - MarkdownDescription: "Defines the name of the container within the target Pod where the action will be executed.This name must correspond to one of the containers defined in 'componentDefinition.spec.runtime'.If this field is not specified, the default behavior is to use the first container listed in'componentDefinition.spec.runtime'.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - Required: false, - Optional: true, - Computed: false, - }, - - "env": schema.ListNestedAttribute{ - Description: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", - MarkdownDescription: "Represents a list of environment variables that will be injected into the container.These variables enable the container to adapt its behavior based on the environment it's running in.This field cannot be updated.", - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "name": schema.StringAttribute{ - Description: "Name of the environment variable. Must be a C_IDENTIFIER.", - MarkdownDescription: "Name of the environment variable. Must be a C_IDENTIFIER.", - Required: true, - Optional: false, - Computed: false, - }, - - "value": schema.StringAttribute{ - Description: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", - MarkdownDescription: "Variable references $(VAR_NAME) are expandedusing the previously defined environment variables in the container andany service environment variables. If a variable cannot be resolved,the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.'$$(VAR_NAME)' will produce the string literal '$(VAR_NAME)'.Escaped references will never be expanded, regardless of whether the variableexists or not.Defaults to ''.", - Required: false, - Optional: true, - Computed: false, - }, - - "value_from": schema.SingleNestedAttribute{ - Description: "Source for the environment variable's value. Cannot be used if value is not empty.", - MarkdownDescription: "Source for the environment variable's value. Cannot be used if value is not empty.", - Attributes: map[string]schema.Attribute{ - "config_map_key_ref": schema.SingleNestedAttribute{ - Description: "Selects a key of a ConfigMap.", - MarkdownDescription: "Selects a key of a ConfigMap.", - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "The key to select.", - MarkdownDescription: "The key to select.", - Required: true, - Optional: false, - Computed: false, - }, - - "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - Required: false, - Optional: true, - Computed: false, - }, - - "optional": schema.BoolAttribute{ - Description: "Specify whether the ConfigMap or its key must be defined", - MarkdownDescription: "Specify whether the ConfigMap or its key must be defined", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "field_ref": schema.SingleNestedAttribute{ - Description: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", - MarkdownDescription: "Selects a field of the pod: supports metadata.name, metadata.namespace, 'metadata.labels['']', 'metadata.annotations['']',spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", - Attributes: map[string]schema.Attribute{ - "api_version": schema.StringAttribute{ - Description: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", - MarkdownDescription: "Version of the schema the FieldPath is written in terms of, defaults to 'v1'.", - Required: false, - Optional: true, - Computed: false, - }, - - "field_path": schema.StringAttribute{ - Description: "Path of the field to select in the specified API version.", - MarkdownDescription: "Path of the field to select in the specified API version.", - Required: true, - Optional: false, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "resource_field_ref": schema.SingleNestedAttribute{ - Description: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", - MarkdownDescription: "Selects a resource of the container: only resources limits and requests(limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.", - Attributes: map[string]schema.Attribute{ - "container_name": schema.StringAttribute{ - Description: "Container name: required for volumes, optional for env vars", - MarkdownDescription: "Container name: required for volumes, optional for env vars", - Required: false, - Optional: true, - Computed: false, - }, - - "divisor": schema.StringAttribute{ - Description: "Specifies the output format of the exposed resources, defaults to '1'", - MarkdownDescription: "Specifies the output format of the exposed resources, defaults to '1'", - Required: false, - Optional: true, - Computed: false, - }, - - "resource": schema.StringAttribute{ - Description: "Required: resource to select", - MarkdownDescription: "Required: resource to select", - Required: true, - Optional: false, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "secret_key_ref": schema.SingleNestedAttribute{ - Description: "Selects a key of a secret in the pod's namespace", - MarkdownDescription: "Selects a key of a secret in the pod's namespace", - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "The key of the secret to select from. Must be a valid secret key.", - MarkdownDescription: "The key of the secret to select from. Must be a valid secret key.", - Required: true, - Optional: false, - Computed: false, - }, - - "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - Required: false, - Optional: true, - Computed: false, - }, - - "optional": schema.BoolAttribute{ - Description: "Specify whether the Secret or its key must be defined", - MarkdownDescription: "Specify whether the Secret or its key must be defined", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "image": schema.StringAttribute{ - Description: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", - MarkdownDescription: "Specifies the container image to be used for running the Action.When specified, a dedicated container will be created using this image to execute the Action.This field is mutually exclusive with the 'container' field; only one of them should be provided.This field cannot be updated.", - Required: false, - Optional: true, - Computed: false, - }, - - "matching_key": schema.StringAttribute{ - Description: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - MarkdownDescription: "Used in conjunction with the 'targetPodSelector' field to refine the selection of target pod(s) for Action execution.The impact of this field depends on the 'targetPodSelector' value:- When 'targetPodSelector' is set to 'Any' or 'All', this field will be ignored.- When 'targetPodSelector' is set to 'Role', only those replicas whose role matches the 'matchingKey' will be selected for the Action.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - Required: false, - Optional: true, - Computed: false, - }, - - "target_pod_selector": schema.StringAttribute{ - Description: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - MarkdownDescription: "Defines the criteria used to select the target Pod(s) for executing the Action.This is useful when there is no default target replica identified.It allows for precise control over which Pod(s) the Action should run in.This field cannot be updated.Note: This field is reserved for future use and is not currently active.", - Required: false, - Optional: true, - Computed: false, - Validators: []validator.String{ - stringvalidator.OneOf("Any", "All", "Role", "Ordinal"), - }, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, + "pre_condition": schema.StringAttribute{ + Description: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", + MarkdownDescription: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", + Required: false, + Optional: true, + Computed: false, + }, - "pre_condition": schema.StringAttribute{ - Description: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", - MarkdownDescription: "Specifies the state that the cluster must reach before the Action is executed.Currently, this is only applicable to the 'postProvision' action.The conditions are as follows:- 'Immediately': Executed right after the Component object is created. The readiness of the Component and its resources is not guaranteed at this stage.- 'RuntimeReady': The Action is triggered after the Component object has been created and all associated runtime resources (e.g. Pods) are in a ready state.- 'ComponentReady': The Action is triggered after the Component itself is in a ready state. This process does not affect the readiness state of the Component or the Cluster.- 'ClusterReady': The Action is executed after the Cluster is in a ready state. This execution does not alter the Component or the Cluster's state of readiness.This field cannot be updated.", + "retry_policy": schema.SingleNestedAttribute{ + Description: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", + MarkdownDescription: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", + Attributes: map[string]schema.Attribute{ + "max_retries": schema.Int64Attribute{ + Description: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", + MarkdownDescription: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", Required: false, Optional: true, Computed: false, }, - "retry_policy": schema.SingleNestedAttribute{ - Description: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", - MarkdownDescription: "Defines the strategy to be taken when retrying the Action after a failure.It specifies the conditions under which the Action should be retried and the limits to apply,such as the maximum number of retries and backoff strategy.This field cannot be updated.", - Attributes: map[string]schema.Attribute{ - "max_retries": schema.Int64Attribute{ - Description: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", - MarkdownDescription: "Defines the maximum number of retry attempts that should be made for a given Action.This value is set to 0 by default, indicating that no retries will be made.", - Required: false, - Optional: true, - Computed: false, - }, - - "retry_interval": schema.Int64Attribute{ - Description: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", - MarkdownDescription: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "timeout_seconds": schema.Int64Attribute{ - Description: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", - MarkdownDescription: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", + "retry_interval": schema.Int64Attribute{ + Description: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", + MarkdownDescription: "Indicates the duration of time to wait between each retry attempt.This value is set to 0 by default, indicating that there will be no delay between retry attempts.", Required: false, Optional: true, Computed: false, @@ -6262,6 +5695,14 @@ func (r *AppsKubeblocksIoComponentDefinitionV1Alpha1Manifest) Schema(_ context.C Optional: true, Computed: false, }, + + "timeout_seconds": schema.Int64Attribute{ + Description: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", + MarkdownDescription: "Specifies the maximum duration in seconds that the Action is allowed to run.If the Action does not complete within this time frame, it will be terminated.This field cannot be updated.", + Required: false, + Optional: true, + Computed: false, + }, }, Required: false, Optional: true, diff --git a/internal/provider/apps_kubeblocks_io_v1alpha1/apps_kubeblocks_io_ops_request_v1alpha1_manifest.go b/internal/provider/apps_kubeblocks_io_v1alpha1/apps_kubeblocks_io_ops_request_v1alpha1_manifest.go index 3279455f0..3ae378496 100644 --- a/internal/provider/apps_kubeblocks_io_v1alpha1/apps_kubeblocks_io_ops_request_v1alpha1_manifest.go +++ b/internal/provider/apps_kubeblocks_io_v1alpha1/apps_kubeblocks_io_ops_request_v1alpha1_manifest.go @@ -703,36 +703,6 @@ type AppsKubeblocksIoOpsRequestV1Alpha1ManifestData struct { RestorePointInTime *string `tfsdk:"restore_point_in_time" json:"restorePointInTime,omitempty"` VolumeRestorePolicy *string `tfsdk:"volume_restore_policy" json:"volumeRestorePolicy,omitempty"` } `tfsdk:"restore_spec" json:"restoreSpec,omitempty"` - ScriptSpec *struct { - ComponentName *string `tfsdk:"component_name" json:"componentName,omitempty"` - Image *string `tfsdk:"image" json:"image,omitempty"` - Script *[]string `tfsdk:"script" json:"script,omitempty"` - ScriptFrom *struct { - ConfigMapRef *[]struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - Optional *bool `tfsdk:"optional" json:"optional,omitempty"` - } `tfsdk:"config_map_ref" json:"configMapRef,omitempty"` - SecretRef *[]struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - Optional *bool `tfsdk:"optional" json:"optional,omitempty"` - } `tfsdk:"secret_ref" json:"secretRef,omitempty"` - } `tfsdk:"script_from" json:"scriptFrom,omitempty"` - Secret *struct { - Name *string `tfsdk:"name" json:"name,omitempty"` - PasswordKey *string `tfsdk:"password_key" json:"passwordKey,omitempty"` - UsernameKey *string `tfsdk:"username_key" json:"usernameKey,omitempty"` - } `tfsdk:"secret" json:"secret,omitempty"` - Selector *struct { - MatchExpressions *[]struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Operator *string `tfsdk:"operator" json:"operator,omitempty"` - Values *[]string `tfsdk:"values" json:"values,omitempty"` - } `tfsdk:"match_expressions" json:"matchExpressions,omitempty"` - MatchLabels *map[string]string `tfsdk:"match_labels" json:"matchLabels,omitempty"` - } `tfsdk:"selector" json:"selector,omitempty"` - } `tfsdk:"script_spec" json:"scriptSpec,omitempty"` Switchover *[]struct { ComponentName *string `tfsdk:"component_name" json:"componentName,omitempty"` InstanceName *string `tfsdk:"instance_name" json:"instanceName,omitempty"` @@ -5339,210 +5309,6 @@ func (r *AppsKubeblocksIoOpsRequestV1Alpha1Manifest) Schema(_ context.Context, _ Computed: false, }, - "script_spec": schema.SingleNestedAttribute{ - Description: "Specifies the image and scripts for executing engine-specific operations such as creating databases or users.It supports limited engines including MySQL, PostgreSQL, Redis, MongoDB.ScriptSpec has been replaced by the more versatile OpsDefinition.It is recommended to use OpsDefinition instead.ScriptSpec is deprecated and will be removed in a future version.", - MarkdownDescription: "Specifies the image and scripts for executing engine-specific operations such as creating databases or users.It supports limited engines including MySQL, PostgreSQL, Redis, MongoDB.ScriptSpec has been replaced by the more versatile OpsDefinition.It is recommended to use OpsDefinition instead.ScriptSpec is deprecated and will be removed in a future version.", - Attributes: map[string]schema.Attribute{ - "component_name": schema.StringAttribute{ - Description: "Specifies the name of the Component.", - MarkdownDescription: "Specifies the name of the Component.", - Required: true, - Optional: false, - Computed: false, - }, - - "image": schema.StringAttribute{ - Description: "Specifies the image to be used to execute scripts.By default, the image 'apecloud/kubeblocks-datascript:latest' is used.", - MarkdownDescription: "Specifies the image to be used to execute scripts.By default, the image 'apecloud/kubeblocks-datascript:latest' is used.", - Required: false, - Optional: true, - Computed: false, - }, - - "script": schema.ListAttribute{ - Description: "Defines the content of scripts to be executed.All scripts specified in this field will be executed in the order they are provided.Note: this field cannot be modified once set.", - MarkdownDescription: "Defines the content of scripts to be executed.All scripts specified in this field will be executed in the order they are provided.Note: this field cannot be modified once set.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - - "script_from": schema.SingleNestedAttribute{ - Description: "Specifies the sources of the scripts to be executed.Each script can be imported either from a ConfigMap or a Secret.All scripts obtained from the sources specified in this field will be executed afterany scripts provided in the 'script' field.Execution order:1. Scripts provided in the 'script' field, in the order of the scripts listed.2. Scripts imported from ConfigMaps, in the order of the sources listed.3. Scripts imported from Secrets, in the order of the sources listed.Note: this field cannot be modified once set.", - MarkdownDescription: "Specifies the sources of the scripts to be executed.Each script can be imported either from a ConfigMap or a Secret.All scripts obtained from the sources specified in this field will be executed afterany scripts provided in the 'script' field.Execution order:1. Scripts provided in the 'script' field, in the order of the scripts listed.2. Scripts imported from ConfigMaps, in the order of the sources listed.3. Scripts imported from Secrets, in the order of the sources listed.Note: this field cannot be modified once set.", - Attributes: map[string]schema.Attribute{ - "config_map_ref": schema.ListNestedAttribute{ - Description: "A list of ConfigMapKeySelector objects, each specifies a ConfigMap and a key containing the script.Note: This field cannot be modified once set.", - MarkdownDescription: "A list of ConfigMapKeySelector objects, each specifies a ConfigMap and a key containing the script.Note: This field cannot be modified once set.", - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "The key to select.", - MarkdownDescription: "The key to select.", - Required: true, - Optional: false, - Computed: false, - }, - - "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - Required: false, - Optional: true, - Computed: false, - }, - - "optional": schema.BoolAttribute{ - Description: "Specify whether the ConfigMap or its key must be defined", - MarkdownDescription: "Specify whether the ConfigMap or its key must be defined", - Required: false, - Optional: true, - Computed: false, - }, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "secret_ref": schema.ListNestedAttribute{ - Description: "A list of SecretKeySelector objects, each specifies a Secret and a key containing the script.Note: This field cannot be modified once set.", - MarkdownDescription: "A list of SecretKeySelector objects, each specifies a Secret and a key containing the script.Note: This field cannot be modified once set.", - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "The key of the secret to select from. Must be a valid secret key.", - MarkdownDescription: "The key of the secret to select from. Must be a valid secret key.", - Required: true, - Optional: false, - Computed: false, - }, - - "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - Required: false, - Optional: true, - Computed: false, - }, - - "optional": schema.BoolAttribute{ - Description: "Specify whether the Secret or its key must be defined", - MarkdownDescription: "Specify whether the Secret or its key must be defined", - Required: false, - Optional: true, - Computed: false, - }, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "secret": schema.SingleNestedAttribute{ - Description: "Defines the secret to be used to execute the script. If not specified, the default cluster root credential secret is used.", - MarkdownDescription: "Defines the secret to be used to execute the script. If not specified, the default cluster root credential secret is used.", - Attributes: map[string]schema.Attribute{ - "name": schema.StringAttribute{ - Description: "Specifies the name of the secret.", - MarkdownDescription: "Specifies the name of the secret.", - Required: true, - Optional: false, - Computed: false, - Validators: []validator.String{ - stringvalidator.LengthAtMost(63), - stringvalidator.RegexMatches(regexp.MustCompile(`^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$`), ""), - }, - }, - - "password_key": schema.StringAttribute{ - Description: "Used to specify the password part of the secret.", - MarkdownDescription: "Used to specify the password part of the secret.", - Required: false, - Optional: true, - Computed: false, - }, - - "username_key": schema.StringAttribute{ - Description: "Used to specify the username part of the secret.", - MarkdownDescription: "Used to specify the username part of the secret.", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "selector": schema.SingleNestedAttribute{ - Description: "Specifies the labels used to select the Pods on which the script should be executed.By default, the script is executed on the Pod associated with the service named '{clusterName}-{componentName}',which typically routes to the Pod with the primary/leader role.However, some Components, such as Redis, do not synchronize account information between primary and secondary Pods.In these cases, the script must be executed on all replica Pods matching the selector.Note: this field cannot be modified once set.", - MarkdownDescription: "Specifies the labels used to select the Pods on which the script should be executed.By default, the script is executed on the Pod associated with the service named '{clusterName}-{componentName}',which typically routes to the Pod with the primary/leader role.However, some Components, such as Redis, do not synchronize account information between primary and secondary Pods.In these cases, the script must be executed on all replica Pods matching the selector.Note: this field cannot be modified once set.", - Attributes: map[string]schema.Attribute{ - "match_expressions": schema.ListNestedAttribute{ - Description: "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - MarkdownDescription: "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "key is the label key that the selector applies to.", - MarkdownDescription: "key is the label key that the selector applies to.", - Required: true, - Optional: false, - Computed: false, - }, - - "operator": schema.StringAttribute{ - Description: "operator represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists and DoesNotExist.", - MarkdownDescription: "operator represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists and DoesNotExist.", - Required: true, - Optional: false, - Computed: false, - }, - - "values": schema.ListAttribute{ - 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. This array is replaced during a strategicmerge patch.", - MarkdownDescription: "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. This array is replaced during a strategicmerge patch.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "match_labels": schema.MapAttribute{ - Description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabelsmap is equivalent to an element of matchExpressions, whose key field is 'key', theoperator is 'In', and the values array contains only 'value'. The requirements are ANDed.", - MarkdownDescription: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabelsmap is equivalent to an element of matchExpressions, whose key field is 'key', theoperator is 'In', and the values array contains only 'value'. The requirements are ANDed.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - "switchover": schema.ListNestedAttribute{ Description: "Lists Switchover objects, each specifying a Component to perform the switchover operation.", MarkdownDescription: "Lists Switchover objects, each specifying a Component to perform the switchover operation.", @@ -5595,13 +5361,13 @@ func (r *AppsKubeblocksIoOpsRequestV1Alpha1Manifest) Schema(_ context.Context, _ }, "type": schema.StringAttribute{ - Description: "Specifies the type of this operation. Supported types include 'Start', 'Stop', 'Restart', 'Switchover','VerticalScaling', 'HorizontalScaling', 'VolumeExpansion', 'Reconfiguring', 'Upgrade', 'Backup', 'Restore','Expose', 'DataScript', 'RebuildInstance', 'Custom'.Note: This field is immutable once set.", - MarkdownDescription: "Specifies the type of this operation. Supported types include 'Start', 'Stop', 'Restart', 'Switchover','VerticalScaling', 'HorizontalScaling', 'VolumeExpansion', 'Reconfiguring', 'Upgrade', 'Backup', 'Restore','Expose', 'DataScript', 'RebuildInstance', 'Custom'.Note: This field is immutable once set.", + Description: "Specifies the type of this operation. Supported types include 'Start', 'Stop', 'Restart', 'Switchover','VerticalScaling', 'HorizontalScaling', 'VolumeExpansion', 'Reconfiguring', 'Upgrade', 'Backup', 'Restore','Expose', 'RebuildInstance', 'Custom'.Note: This field is immutable once set.", + MarkdownDescription: "Specifies the type of this operation. Supported types include 'Start', 'Stop', 'Restart', 'Switchover','VerticalScaling', 'HorizontalScaling', 'VolumeExpansion', 'Reconfiguring', 'Upgrade', 'Backup', 'Restore','Expose', 'RebuildInstance', 'Custom'.Note: This field is immutable once set.", Required: true, Optional: false, Computed: false, Validators: []validator.String{ - stringvalidator.OneOf("Upgrade", "VerticalScaling", "VolumeExpansion", "HorizontalScaling", "Restart", "Reconfiguring", "Start", "Stop", "Expose", "Switchover", "DataScript", "Backup", "Restore", "RebuildInstance", "Custom"), + stringvalidator.OneOf("Upgrade", "VerticalScaling", "VolumeExpansion", "HorizontalScaling", "Restart", "Reconfiguring", "Start", "Stop", "Expose", "Switchover", "Backup", "Restore", "RebuildInstance", "Custom"), }, }, diff --git a/internal/provider/asdb_aerospike_com_v1/asdb_aerospike_com_aerospike_cluster_v1_manifest.go b/internal/provider/asdb_aerospike_com_v1/asdb_aerospike_com_aerospike_cluster_v1_manifest.go index 85b8a959d..87f3cbed8 100644 --- a/internal/provider/asdb_aerospike_com_v1/asdb_aerospike_com_aerospike_cluster_v1_manifest.go +++ b/internal/provider/asdb_aerospike_com_v1/asdb_aerospike_com_aerospike_cluster_v1_manifest.go @@ -105,6 +105,7 @@ type AsdbAerospikeComAerospikeClusterV1ManifestData struct { } `tfsdk:"secret_cert_source" json:"secretCertSource,omitempty"` TlsClientName *string `tfsdk:"tls_client_name" json:"tlsClientName,omitempty"` } `tfsdk:"operator_client_cert" json:"operatorClientCert,omitempty"` + Paused *bool `tfsdk:"paused" json:"paused,omitempty"` PodSpec *struct { AerospikeContainer *struct { Resources *struct { @@ -2014,6 +2015,14 @@ func (r *AsdbAerospikeComAerospikeClusterV1Manifest) Schema(_ context.Context, _ Computed: false, }, + "paused": schema.BoolAttribute{ + Description: "Paused flag is used to pause the reconciliation for the AerospikeCluster.", + MarkdownDescription: "Paused flag is used to pause the reconciliation for the AerospikeCluster.", + Required: false, + Optional: true, + Computed: false, + }, + "pod_spec": schema.SingleNestedAttribute{ Description: "Specify additional configuration for the Aerospike pods", MarkdownDescription: "Specify additional configuration for the Aerospike pods", diff --git a/internal/provider/camel_apache_org_v1/camel_apache_org_integration_platform_v1_manifest.go b/internal/provider/camel_apache_org_v1/camel_apache_org_integration_platform_v1_manifest.go index 5c3bacb74..59cd4a5a3 100644 --- a/internal/provider/camel_apache_org_v1/camel_apache_org_integration_platform_v1_manifest.go +++ b/internal/provider/camel_apache_org_v1/camel_apache_org_integration_platform_v1_manifest.go @@ -2016,8 +2016,8 @@ func (r *CamelApacheOrgIntegrationPlatformV1Manifest) Schema(_ context.Context, }, "vars": schema.ListAttribute{ - Description: "A list of environment variables to be added to the integration container.The syntax is KEY=VALUE, e.g., 'MY_VAR='my value''.These take precedence over the previously defined environment variables.", - MarkdownDescription: "A list of environment variables to be added to the integration container.The syntax is KEY=VALUE, e.g., 'MY_VAR='my value''.These take precedence over the previously defined environment variables.", + Description: "A list of environment variables to be added to the integration container.The syntax is either VAR=VALUE or VAR=[configmap|secret]:name/key, where name represents the resource name,and key represents the resource key to be mapped as and environment variable.These take precedence over any previously defined environment variables.", + MarkdownDescription: "A list of environment variables to be added to the integration container.The syntax is either VAR=VALUE or VAR=[configmap|secret]:name/key, where name represents the resource name,and key represents the resource key to be mapped as and environment variable.These take precedence over any previously defined environment variables.", ElementType: types.StringType, Required: false, Optional: true, @@ -3108,8 +3108,8 @@ func (r *CamelApacheOrgIntegrationPlatformV1Manifest) Schema(_ context.Context, }, "scan_kamelets_implicit_label_secrets": schema.BoolAttribute{ - Description: "Deprecated: include your properties in an explicit property file backed by a secret.Let the operator to scan for secret labeled with 'camel.apache.org/kamelet' and 'camel.apache.org/kamelet.configuration'.These secrets are mounted to the application and treated as plain properties file with their key/value list(ie .spec.data['camel.my-property'] = my-value) (default 'true').", - MarkdownDescription: "Deprecated: include your properties in an explicit property file backed by a secret.Let the operator to scan for secret labeled with 'camel.apache.org/kamelet' and 'camel.apache.org/kamelet.configuration'.These secrets are mounted to the application and treated as plain properties file with their key/value list(ie .spec.data['camel.my-property'] = my-value) (default 'true').", + Description: "Deprecated: no longer available since version 2.5.", + MarkdownDescription: "Deprecated: no longer available since version 2.5.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/camel_apache_org_v1/camel_apache_org_integration_profile_v1_manifest.go b/internal/provider/camel_apache_org_v1/camel_apache_org_integration_profile_v1_manifest.go index c71f9cc9e..06d24f9cc 100644 --- a/internal/provider/camel_apache_org_v1/camel_apache_org_integration_profile_v1_manifest.go +++ b/internal/provider/camel_apache_org_v1/camel_apache_org_integration_profile_v1_manifest.go @@ -1811,8 +1811,8 @@ func (r *CamelApacheOrgIntegrationProfileV1Manifest) Schema(_ context.Context, _ }, "vars": schema.ListAttribute{ - Description: "A list of environment variables to be added to the integration container.The syntax is KEY=VALUE, e.g., 'MY_VAR='my value''.These take precedence over the previously defined environment variables.", - MarkdownDescription: "A list of environment variables to be added to the integration container.The syntax is KEY=VALUE, e.g., 'MY_VAR='my value''.These take precedence over the previously defined environment variables.", + Description: "A list of environment variables to be added to the integration container.The syntax is either VAR=VALUE or VAR=[configmap|secret]:name/key, where name represents the resource name,and key represents the resource key to be mapped as and environment variable.These take precedence over any previously defined environment variables.", + MarkdownDescription: "A list of environment variables to be added to the integration container.The syntax is either VAR=VALUE or VAR=[configmap|secret]:name/key, where name represents the resource name,and key represents the resource key to be mapped as and environment variable.These take precedence over any previously defined environment variables.", ElementType: types.StringType, Required: false, Optional: true, @@ -2903,8 +2903,8 @@ func (r *CamelApacheOrgIntegrationProfileV1Manifest) Schema(_ context.Context, _ }, "scan_kamelets_implicit_label_secrets": schema.BoolAttribute{ - Description: "Deprecated: include your properties in an explicit property file backed by a secret.Let the operator to scan for secret labeled with 'camel.apache.org/kamelet' and 'camel.apache.org/kamelet.configuration'.These secrets are mounted to the application and treated as plain properties file with their key/value list(ie .spec.data['camel.my-property'] = my-value) (default 'true').", - MarkdownDescription: "Deprecated: include your properties in an explicit property file backed by a secret.Let the operator to scan for secret labeled with 'camel.apache.org/kamelet' and 'camel.apache.org/kamelet.configuration'.These secrets are mounted to the application and treated as plain properties file with their key/value list(ie .spec.data['camel.my-property'] = my-value) (default 'true').", + Description: "Deprecated: no longer available since version 2.5.", + MarkdownDescription: "Deprecated: no longer available since version 2.5.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/camel_apache_org_v1/camel_apache_org_integration_v1_manifest.go b/internal/provider/camel_apache_org_v1/camel_apache_org_integration_v1_manifest.go index 9fb391da7..f6976787d 100644 --- a/internal/provider/camel_apache_org_v1/camel_apache_org_integration_v1_manifest.go +++ b/internal/provider/camel_apache_org_v1/camel_apache_org_integration_v1_manifest.go @@ -9899,8 +9899,8 @@ func (r *CamelApacheOrgIntegrationV1Manifest) Schema(_ context.Context, _ dataso }, "vars": schema.ListAttribute{ - Description: "A list of environment variables to be added to the integration container.The syntax is KEY=VALUE, e.g., 'MY_VAR='my value''.These take precedence over the previously defined environment variables.", - MarkdownDescription: "A list of environment variables to be added to the integration container.The syntax is KEY=VALUE, e.g., 'MY_VAR='my value''.These take precedence over the previously defined environment variables.", + Description: "A list of environment variables to be added to the integration container.The syntax is either VAR=VALUE or VAR=[configmap|secret]:name/key, where name represents the resource name,and key represents the resource key to be mapped as and environment variable.These take precedence over any previously defined environment variables.", + MarkdownDescription: "A list of environment variables to be added to the integration container.The syntax is either VAR=VALUE or VAR=[configmap|secret]:name/key, where name represents the resource name,and key represents the resource key to be mapped as and environment variable.These take precedence over any previously defined environment variables.", ElementType: types.StringType, Required: false, Optional: true, @@ -10991,8 +10991,8 @@ func (r *CamelApacheOrgIntegrationV1Manifest) Schema(_ context.Context, _ dataso }, "scan_kamelets_implicit_label_secrets": schema.BoolAttribute{ - Description: "Deprecated: include your properties in an explicit property file backed by a secret.Let the operator to scan for secret labeled with 'camel.apache.org/kamelet' and 'camel.apache.org/kamelet.configuration'.These secrets are mounted to the application and treated as plain properties file with their key/value list(ie .spec.data['camel.my-property'] = my-value) (default 'true').", - MarkdownDescription: "Deprecated: include your properties in an explicit property file backed by a secret.Let the operator to scan for secret labeled with 'camel.apache.org/kamelet' and 'camel.apache.org/kamelet.configuration'.These secrets are mounted to the application and treated as plain properties file with their key/value list(ie .spec.data['camel.my-property'] = my-value) (default 'true').", + Description: "Deprecated: no longer available since version 2.5.", + MarkdownDescription: "Deprecated: no longer available since version 2.5.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/camel_apache_org_v1/camel_apache_org_pipe_v1_manifest.go b/internal/provider/camel_apache_org_v1/camel_apache_org_pipe_v1_manifest.go index 0f63a4837..a19b05c4b 100644 --- a/internal/provider/camel_apache_org_v1/camel_apache_org_pipe_v1_manifest.go +++ b/internal/provider/camel_apache_org_v1/camel_apache_org_pipe_v1_manifest.go @@ -9968,8 +9968,8 @@ func (r *CamelApacheOrgPipeV1Manifest) Schema(_ context.Context, _ datasource.Sc }, "vars": schema.ListAttribute{ - Description: "A list of environment variables to be added to the integration container.The syntax is KEY=VALUE, e.g., 'MY_VAR='my value''.These take precedence over the previously defined environment variables.", - MarkdownDescription: "A list of environment variables to be added to the integration container.The syntax is KEY=VALUE, e.g., 'MY_VAR='my value''.These take precedence over the previously defined environment variables.", + Description: "A list of environment variables to be added to the integration container.The syntax is either VAR=VALUE or VAR=[configmap|secret]:name/key, where name represents the resource name,and key represents the resource key to be mapped as and environment variable.These take precedence over any previously defined environment variables.", + MarkdownDescription: "A list of environment variables to be added to the integration container.The syntax is either VAR=VALUE or VAR=[configmap|secret]:name/key, where name represents the resource name,and key represents the resource key to be mapped as and environment variable.These take precedence over any previously defined environment variables.", ElementType: types.StringType, Required: false, Optional: true, @@ -11060,8 +11060,8 @@ func (r *CamelApacheOrgPipeV1Manifest) Schema(_ context.Context, _ datasource.Sc }, "scan_kamelets_implicit_label_secrets": schema.BoolAttribute{ - Description: "Deprecated: include your properties in an explicit property file backed by a secret.Let the operator to scan for secret labeled with 'camel.apache.org/kamelet' and 'camel.apache.org/kamelet.configuration'.These secrets are mounted to the application and treated as plain properties file with their key/value list(ie .spec.data['camel.my-property'] = my-value) (default 'true').", - MarkdownDescription: "Deprecated: include your properties in an explicit property file backed by a secret.Let the operator to scan for secret labeled with 'camel.apache.org/kamelet' and 'camel.apache.org/kamelet.configuration'.These secrets are mounted to the application and treated as plain properties file with their key/value list(ie .spec.data['camel.my-property'] = my-value) (default 'true').", + Description: "Deprecated: no longer available since version 2.5.", + MarkdownDescription: "Deprecated: no longer available since version 2.5.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/camel_apache_org_v1alpha1/camel_apache_org_kamelet_binding_v1alpha1_manifest.go b/internal/provider/camel_apache_org_v1alpha1/camel_apache_org_kamelet_binding_v1alpha1_manifest.go index 3e8505a5b..fae770965 100644 --- a/internal/provider/camel_apache_org_v1alpha1/camel_apache_org_kamelet_binding_v1alpha1_manifest.go +++ b/internal/provider/camel_apache_org_v1alpha1/camel_apache_org_kamelet_binding_v1alpha1_manifest.go @@ -10094,8 +10094,8 @@ func (r *CamelApacheOrgKameletBindingV1Alpha1Manifest) Schema(_ context.Context, }, "vars": schema.ListAttribute{ - Description: "A list of environment variables to be added to the integration container.The syntax is KEY=VALUE, e.g., 'MY_VAR='my value''.These take precedence over the previously defined environment variables.", - MarkdownDescription: "A list of environment variables to be added to the integration container.The syntax is KEY=VALUE, e.g., 'MY_VAR='my value''.These take precedence over the previously defined environment variables.", + Description: "A list of environment variables to be added to the integration container.The syntax is either VAR=VALUE or VAR=[configmap|secret]:name/key, where name represents the resource name,and key represents the resource key to be mapped as and environment variable.These take precedence over any previously defined environment variables.", + MarkdownDescription: "A list of environment variables to be added to the integration container.The syntax is either VAR=VALUE or VAR=[configmap|secret]:name/key, where name represents the resource name,and key represents the resource key to be mapped as and environment variable.These take precedence over any previously defined environment variables.", ElementType: types.StringType, Required: false, Optional: true, @@ -11186,8 +11186,8 @@ func (r *CamelApacheOrgKameletBindingV1Alpha1Manifest) Schema(_ context.Context, }, "scan_kamelets_implicit_label_secrets": schema.BoolAttribute{ - Description: "Deprecated: include your properties in an explicit property file backed by a secret.Let the operator to scan for secret labeled with 'camel.apache.org/kamelet' and 'camel.apache.org/kamelet.configuration'.These secrets are mounted to the application and treated as plain properties file with their key/value list(ie .spec.data['camel.my-property'] = my-value) (default 'true').", - MarkdownDescription: "Deprecated: include your properties in an explicit property file backed by a secret.Let the operator to scan for secret labeled with 'camel.apache.org/kamelet' and 'camel.apache.org/kamelet.configuration'.These secrets are mounted to the application and treated as plain properties file with their key/value list(ie .spec.data['camel.my-property'] = my-value) (default 'true').", + Description: "Deprecated: no longer available since version 2.5.", + MarkdownDescription: "Deprecated: no longer available since version 2.5.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/canaries_flanksource_com_v1/canaries_flanksource_com_canary_v1_manifest.go b/internal/provider/canaries_flanksource_com_v1/canaries_flanksource_com_canary_v1_manifest.go index 45ec9a2ae..b9e26d4e2 100644 --- a/internal/provider/canaries_flanksource_com_v1/canaries_flanksource_com_canary_v1_manifest.go +++ b/internal/provider/canaries_flanksource_com_v1/canaries_flanksource_com_canary_v1_manifest.go @@ -757,17 +757,19 @@ type CanariesFlanksourceComCanaryV1ManifestData struct { } `tfsdk:"configs" json:"configs,omitempty"` } `tfsdk:"relationships" json:"relationships,omitempty"` Selector *[]struct { - Agent *string `tfsdk:"agent" json:"agent,omitempty"` - Cache *string `tfsdk:"cache" json:"cache,omitempty"` - FieldSelector *string `tfsdk:"field_selector" json:"fieldSelector,omitempty"` - Id *string `tfsdk:"id" json:"id,omitempty"` - LabelSelector *string `tfsdk:"label_selector" json:"labelSelector,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` - Scope *string `tfsdk:"scope" json:"scope,omitempty"` - Statuses *[]string `tfsdk:"statuses" json:"statuses,omitempty"` - TagSelector *string `tfsdk:"tag_selector" json:"tagSelector,omitempty"` - Types *[]string `tfsdk:"types" json:"types,omitempty"` + Agent *string `tfsdk:"agent" json:"agent,omitempty"` + Cache *string `tfsdk:"cache" json:"cache,omitempty"` + FieldSelector *string `tfsdk:"field_selector" json:"fieldSelector,omitempty"` + Id *string `tfsdk:"id" json:"id,omitempty"` + IncludeDeleted *bool `tfsdk:"include_deleted" json:"includeDeleted,omitempty"` + LabelSelector *string `tfsdk:"label_selector" json:"labelSelector,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` + Scope *string `tfsdk:"scope" json:"scope,omitempty"` + Search *string `tfsdk:"search" json:"search,omitempty"` + Statuses *[]string `tfsdk:"statuses" json:"statuses,omitempty"` + TagSelector *string `tfsdk:"tag_selector" json:"tagSelector,omitempty"` + Types *[]string `tfsdk:"types" json:"types,omitempty"` } `tfsdk:"selector" json:"selector,omitempty"` Test *struct { Expr *string `tfsdk:"expr" json:"expr,omitempty"` @@ -4855,6 +4857,7 @@ type CanariesFlanksourceComCanaryV1ManifestData struct { } `tfsdk:"bearer" json:"bearer,omitempty"` Connection *string `tfsdk:"connection" json:"connection,omitempty"` Description *string `tfsdk:"description" json:"description,omitempty"` + Digest *bool `tfsdk:"digest" json:"digest,omitempty"` Display *struct { Expr *string `tfsdk:"expr" json:"expr,omitempty"` Javascript *string `tfsdk:"javascript" json:"javascript,omitempty"` @@ -4868,6 +4871,8 @@ type CanariesFlanksourceComCanaryV1ManifestData struct { } `tfsdk:"metrics" json:"metrics,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` + Ntlm *bool `tfsdk:"ntlm" json:"ntlm,omitempty"` + Ntlmv2 *bool `tfsdk:"ntlmv2" json:"ntlmv2,omitempty"` Oauth *struct { ClientID *struct { Name *string `tfsdk:"name" json:"name,omitempty"` @@ -10581,6 +10586,14 @@ func (r *CanariesFlanksourceComCanaryV1Manifest) Schema(_ context.Context, _ dat Computed: false, }, + "include_deleted": schema.BoolAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + "label_selector": schema.StringAttribute{ Description: "", MarkdownDescription: "", @@ -10613,6 +10626,14 @@ func (r *CanariesFlanksourceComCanaryV1Manifest) Schema(_ context.Context, _ dat Computed: false, }, + "search": schema.StringAttribute{ + Description: "Search query that applies to the resource name, tag & labels.", + MarkdownDescription: "Search query that applies to the resource name, tag & labels.", + Required: false, + Optional: true, + Computed: false, + }, + "statuses": schema.ListAttribute{ Description: "", MarkdownDescription: "", @@ -25159,8 +25180,8 @@ func (r *CanariesFlanksourceComCanaryV1Manifest) Schema(_ context.Context, _ dat }, "env": schema.ListNestedAttribute{ - Description: "EnvVars are the environment variables that are accesible to templated body", - MarkdownDescription: "EnvVars are the environment variables that are accesible to templated body", + Description: "EnvVars are the environment variables that are accessible to templated body", + MarkdownDescription: "EnvVars are the environment variables that are accessible to templated body", NestedObject: schema.NestedAttributeObject{ Attributes: map[string]schema.Attribute{ "name": schema.StringAttribute{ @@ -37433,6 +37454,14 @@ func (r *CanariesFlanksourceComCanaryV1Manifest) Schema(_ context.Context, _ dat Computed: false, }, + "digest": schema.BoolAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + "display": schema.SingleNestedAttribute{ Description: "", MarkdownDescription: "", @@ -37526,6 +37555,22 @@ func (r *CanariesFlanksourceComCanaryV1Manifest) Schema(_ context.Context, _ dat Computed: false, }, + "ntlm": schema.BoolAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "ntlmv2": schema.BoolAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + "oauth": schema.SingleNestedAttribute{ Description: "", MarkdownDescription: "", diff --git a/internal/provider/canaries_flanksource_com_v1/canaries_flanksource_com_component_v1_manifest.go b/internal/provider/canaries_flanksource_com_v1/canaries_flanksource_com_component_v1_manifest.go index 532402785..b62a1a78e 100644 --- a/internal/provider/canaries_flanksource_com_v1/canaries_flanksource_com_component_v1_manifest.go +++ b/internal/provider/canaries_flanksource_com_v1/canaries_flanksource_com_component_v1_manifest.go @@ -47,24 +47,27 @@ type CanariesFlanksourceComComponentV1ManifestData struct { } `tfsdk:"checks" json:"checks,omitempty"` Components *map[string]string `tfsdk:"components" json:"components,omitempty"` Configs *[]struct { - Agent *string `tfsdk:"agent" json:"agent,omitempty"` - Cache *string `tfsdk:"cache" json:"cache,omitempty"` - Class *string `tfsdk:"class" json:"class,omitempty"` - External_id *string `tfsdk:"external_id" json:"external_id,omitempty"` - FieldSelector *string `tfsdk:"field_selector" json:"fieldSelector,omitempty"` - Id *string `tfsdk:"id" json:"id,omitempty"` - LabelSelector *string `tfsdk:"label_selector" json:"labelSelector,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` - Scope *string `tfsdk:"scope" json:"scope,omitempty"` - Statuses *[]string `tfsdk:"statuses" json:"statuses,omitempty"` - TagSelector *string `tfsdk:"tag_selector" json:"tagSelector,omitempty"` - Tags *map[string]string `tfsdk:"tags" json:"tags,omitempty"` - Type *string `tfsdk:"type" json:"type,omitempty"` - Types *[]string `tfsdk:"types" json:"types,omitempty"` + Agent *string `tfsdk:"agent" json:"agent,omitempty"` + Cache *string `tfsdk:"cache" json:"cache,omitempty"` + Class *string `tfsdk:"class" json:"class,omitempty"` + External_id *string `tfsdk:"external_id" json:"external_id,omitempty"` + FieldSelector *string `tfsdk:"field_selector" json:"fieldSelector,omitempty"` + Id *string `tfsdk:"id" json:"id,omitempty"` + IncludeDeleted *bool `tfsdk:"include_deleted" json:"includeDeleted,omitempty"` + LabelSelector *string `tfsdk:"label_selector" json:"labelSelector,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` + Scope *string `tfsdk:"scope" json:"scope,omitempty"` + Search *string `tfsdk:"search" json:"search,omitempty"` + Statuses *[]string `tfsdk:"statuses" json:"statuses,omitempty"` + TagSelector *string `tfsdk:"tag_selector" json:"tagSelector,omitempty"` + Tags *map[string]string `tfsdk:"tags" json:"tags,omitempty"` + Type *string `tfsdk:"type" json:"type,omitempty"` + Types *[]string `tfsdk:"types" json:"types,omitempty"` } `tfsdk:"configs" json:"configs,omitempty"` ExternalID *string `tfsdk:"external_id" json:"externalID,omitempty"` ForEach *map[string]string `tfsdk:"for_each" json:"forEach,omitempty"` + Health *string `tfsdk:"health" json:"health,omitempty"` Hidden *bool `tfsdk:"hidden" json:"hidden,omitempty"` Icon *string `tfsdk:"icon" json:"icon,omitempty"` Id *struct { @@ -97,17 +100,19 @@ type CanariesFlanksourceComComponentV1ManifestData struct { Type *string `tfsdk:"type" json:"type,omitempty"` } `tfsdk:"relationships" json:"relationships,omitempty"` Selectors *[]struct { - Agent *string `tfsdk:"agent" json:"agent,omitempty"` - Cache *string `tfsdk:"cache" json:"cache,omitempty"` - FieldSelector *string `tfsdk:"field_selector" json:"fieldSelector,omitempty"` - Id *string `tfsdk:"id" json:"id,omitempty"` - LabelSelector *string `tfsdk:"label_selector" json:"labelSelector,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` - Scope *string `tfsdk:"scope" json:"scope,omitempty"` - Statuses *[]string `tfsdk:"statuses" json:"statuses,omitempty"` - TagSelector *string `tfsdk:"tag_selector" json:"tagSelector,omitempty"` - Types *[]string `tfsdk:"types" json:"types,omitempty"` + Agent *string `tfsdk:"agent" json:"agent,omitempty"` + Cache *string `tfsdk:"cache" json:"cache,omitempty"` + FieldSelector *string `tfsdk:"field_selector" json:"fieldSelector,omitempty"` + Id *string `tfsdk:"id" json:"id,omitempty"` + IncludeDeleted *bool `tfsdk:"include_deleted" json:"includeDeleted,omitempty"` + LabelSelector *string `tfsdk:"label_selector" json:"labelSelector,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` + Scope *string `tfsdk:"scope" json:"scope,omitempty"` + Search *string `tfsdk:"search" json:"search,omitempty"` + Statuses *[]string `tfsdk:"statuses" json:"statuses,omitempty"` + TagSelector *string `tfsdk:"tag_selector" json:"tagSelector,omitempty"` + Types *[]string `tfsdk:"types" json:"types,omitempty"` } `tfsdk:"selectors" json:"selectors,omitempty"` StatusExpr *string `tfsdk:"status_expr" json:"statusExpr,omitempty"` Summary *struct { @@ -276,6 +281,14 @@ func (r *CanariesFlanksourceComComponentV1Manifest) Schema(_ context.Context, _ Computed: false, }, + "include_deleted": schema.BoolAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + "label_selector": schema.StringAttribute{ Description: "", MarkdownDescription: "", @@ -308,6 +321,14 @@ func (r *CanariesFlanksourceComComponentV1Manifest) Schema(_ context.Context, _ Computed: false, }, + "search": schema.StringAttribute{ + Description: "Search query that applies to the resource name, tag & labels.", + MarkdownDescription: "Search query that applies to the resource name, tag & labels.", + Required: false, + Optional: true, + Computed: false, + }, + "statuses": schema.ListAttribute{ Description: "", MarkdownDescription: "", @@ -374,6 +395,14 @@ func (r *CanariesFlanksourceComComponentV1Manifest) Schema(_ context.Context, _ Computed: false, }, + "health": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + "hidden": schema.BoolAttribute{ Description: "If set to true, do not display in UI", MarkdownDescription: "If set to true, do not display in UI", @@ -639,6 +668,14 @@ func (r *CanariesFlanksourceComComponentV1Manifest) Schema(_ context.Context, _ Computed: false, }, + "include_deleted": schema.BoolAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + "label_selector": schema.StringAttribute{ Description: "", MarkdownDescription: "", @@ -671,6 +708,14 @@ func (r *CanariesFlanksourceComComponentV1Manifest) Schema(_ context.Context, _ Computed: false, }, + "search": schema.StringAttribute{ + Description: "Search query that applies to the resource name, tag & labels.", + MarkdownDescription: "Search query that applies to the resource name, tag & labels.", + Required: false, + Optional: true, + Computed: false, + }, + "statuses": schema.ListAttribute{ Description: "", MarkdownDescription: "", diff --git a/internal/provider/canaries_flanksource_com_v1/canaries_flanksource_com_topology_v1_manifest.go b/internal/provider/canaries_flanksource_com_v1/canaries_flanksource_com_topology_v1_manifest.go index 750dcaeb6..f721b8e70 100644 --- a/internal/provider/canaries_flanksource_com_v1/canaries_flanksource_com_topology_v1_manifest.go +++ b/internal/provider/canaries_flanksource_com_v1/canaries_flanksource_com_topology_v1_manifest.go @@ -47,39 +47,44 @@ type CanariesFlanksourceComTopologyV1ManifestData struct { Checks *[]struct { Inline *map[string]string `tfsdk:"inline" json:"inline,omitempty"` Selector *struct { - Agent *string `tfsdk:"agent" json:"agent,omitempty"` - Cache *string `tfsdk:"cache" json:"cache,omitempty"` - FieldSelector *string `tfsdk:"field_selector" json:"fieldSelector,omitempty"` - Id *string `tfsdk:"id" json:"id,omitempty"` - LabelSelector *string `tfsdk:"label_selector" json:"labelSelector,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` - Scope *string `tfsdk:"scope" json:"scope,omitempty"` - Statuses *[]string `tfsdk:"statuses" json:"statuses,omitempty"` - TagSelector *string `tfsdk:"tag_selector" json:"tagSelector,omitempty"` - Types *[]string `tfsdk:"types" json:"types,omitempty"` + Agent *string `tfsdk:"agent" json:"agent,omitempty"` + Cache *string `tfsdk:"cache" json:"cache,omitempty"` + FieldSelector *string `tfsdk:"field_selector" json:"fieldSelector,omitempty"` + Id *string `tfsdk:"id" json:"id,omitempty"` + IncludeDeleted *bool `tfsdk:"include_deleted" json:"includeDeleted,omitempty"` + LabelSelector *string `tfsdk:"label_selector" json:"labelSelector,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` + Scope *string `tfsdk:"scope" json:"scope,omitempty"` + Search *string `tfsdk:"search" json:"search,omitempty"` + Statuses *[]string `tfsdk:"statuses" json:"statuses,omitempty"` + TagSelector *string `tfsdk:"tag_selector" json:"tagSelector,omitempty"` + Types *[]string `tfsdk:"types" json:"types,omitempty"` } `tfsdk:"selector" json:"selector,omitempty"` } `tfsdk:"checks" json:"checks,omitempty"` Components *map[string]string `tfsdk:"components" json:"components,omitempty"` Configs *[]struct { - Agent *string `tfsdk:"agent" json:"agent,omitempty"` - Cache *string `tfsdk:"cache" json:"cache,omitempty"` - Class *string `tfsdk:"class" json:"class,omitempty"` - External_id *string `tfsdk:"external_id" json:"external_id,omitempty"` - FieldSelector *string `tfsdk:"field_selector" json:"fieldSelector,omitempty"` - Id *string `tfsdk:"id" json:"id,omitempty"` - LabelSelector *string `tfsdk:"label_selector" json:"labelSelector,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` - Scope *string `tfsdk:"scope" json:"scope,omitempty"` - Statuses *[]string `tfsdk:"statuses" json:"statuses,omitempty"` - TagSelector *string `tfsdk:"tag_selector" json:"tagSelector,omitempty"` - Tags *map[string]string `tfsdk:"tags" json:"tags,omitempty"` - Type *string `tfsdk:"type" json:"type,omitempty"` - Types *[]string `tfsdk:"types" json:"types,omitempty"` + Agent *string `tfsdk:"agent" json:"agent,omitempty"` + Cache *string `tfsdk:"cache" json:"cache,omitempty"` + Class *string `tfsdk:"class" json:"class,omitempty"` + External_id *string `tfsdk:"external_id" json:"external_id,omitempty"` + FieldSelector *string `tfsdk:"field_selector" json:"fieldSelector,omitempty"` + Id *string `tfsdk:"id" json:"id,omitempty"` + IncludeDeleted *bool `tfsdk:"include_deleted" json:"includeDeleted,omitempty"` + LabelSelector *string `tfsdk:"label_selector" json:"labelSelector,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` + Scope *string `tfsdk:"scope" json:"scope,omitempty"` + Search *string `tfsdk:"search" json:"search,omitempty"` + Statuses *[]string `tfsdk:"statuses" json:"statuses,omitempty"` + TagSelector *string `tfsdk:"tag_selector" json:"tagSelector,omitempty"` + Tags *map[string]string `tfsdk:"tags" json:"tags,omitempty"` + Type *string `tfsdk:"type" json:"type,omitempty"` + Types *[]string `tfsdk:"types" json:"types,omitempty"` } `tfsdk:"configs" json:"configs,omitempty"` ExternalID *string `tfsdk:"external_id" json:"externalID,omitempty"` ForEach *map[string]string `tfsdk:"for_each" json:"forEach,omitempty"` + Health *string `tfsdk:"health" json:"health,omitempty"` Hidden *bool `tfsdk:"hidden" json:"hidden,omitempty"` Icon *string `tfsdk:"icon" json:"icon,omitempty"` Id *struct { @@ -112,17 +117,19 @@ type CanariesFlanksourceComTopologyV1ManifestData struct { Type *string `tfsdk:"type" json:"type,omitempty"` } `tfsdk:"relationships" json:"relationships,omitempty"` Selectors *[]struct { - Agent *string `tfsdk:"agent" json:"agent,omitempty"` - Cache *string `tfsdk:"cache" json:"cache,omitempty"` - FieldSelector *string `tfsdk:"field_selector" json:"fieldSelector,omitempty"` - Id *string `tfsdk:"id" json:"id,omitempty"` - LabelSelector *string `tfsdk:"label_selector" json:"labelSelector,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` - Scope *string `tfsdk:"scope" json:"scope,omitempty"` - Statuses *[]string `tfsdk:"statuses" json:"statuses,omitempty"` - TagSelector *string `tfsdk:"tag_selector" json:"tagSelector,omitempty"` - Types *[]string `tfsdk:"types" json:"types,omitempty"` + Agent *string `tfsdk:"agent" json:"agent,omitempty"` + Cache *string `tfsdk:"cache" json:"cache,omitempty"` + FieldSelector *string `tfsdk:"field_selector" json:"fieldSelector,omitempty"` + Id *string `tfsdk:"id" json:"id,omitempty"` + IncludeDeleted *bool `tfsdk:"include_deleted" json:"includeDeleted,omitempty"` + LabelSelector *string `tfsdk:"label_selector" json:"labelSelector,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` + Scope *string `tfsdk:"scope" json:"scope,omitempty"` + Search *string `tfsdk:"search" json:"search,omitempty"` + Statuses *[]string `tfsdk:"statuses" json:"statuses,omitempty"` + TagSelector *string `tfsdk:"tag_selector" json:"tagSelector,omitempty"` + Types *[]string `tfsdk:"types" json:"types,omitempty"` } `tfsdk:"selectors" json:"selectors,omitempty"` StatusExpr *string `tfsdk:"status_expr" json:"statusExpr,omitempty"` Summary *struct { @@ -140,35 +147,39 @@ type CanariesFlanksourceComTopologyV1ManifestData struct { Type *string `tfsdk:"type" json:"type,omitempty"` } `tfsdk:"components" json:"components,omitempty"` Configs *[]struct { - Agent *string `tfsdk:"agent" json:"agent,omitempty"` - Cache *string `tfsdk:"cache" json:"cache,omitempty"` - Class *string `tfsdk:"class" json:"class,omitempty"` - External_id *string `tfsdk:"external_id" json:"external_id,omitempty"` - FieldSelector *string `tfsdk:"field_selector" json:"fieldSelector,omitempty"` - Id *string `tfsdk:"id" json:"id,omitempty"` - LabelSelector *string `tfsdk:"label_selector" json:"labelSelector,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` - Scope *string `tfsdk:"scope" json:"scope,omitempty"` - Statuses *[]string `tfsdk:"statuses" json:"statuses,omitempty"` - TagSelector *string `tfsdk:"tag_selector" json:"tagSelector,omitempty"` - Tags *map[string]string `tfsdk:"tags" json:"tags,omitempty"` - Type *string `tfsdk:"type" json:"type,omitempty"` - Types *[]string `tfsdk:"types" json:"types,omitempty"` + Agent *string `tfsdk:"agent" json:"agent,omitempty"` + Cache *string `tfsdk:"cache" json:"cache,omitempty"` + Class *string `tfsdk:"class" json:"class,omitempty"` + External_id *string `tfsdk:"external_id" json:"external_id,omitempty"` + FieldSelector *string `tfsdk:"field_selector" json:"fieldSelector,omitempty"` + Id *string `tfsdk:"id" json:"id,omitempty"` + IncludeDeleted *bool `tfsdk:"include_deleted" json:"includeDeleted,omitempty"` + LabelSelector *string `tfsdk:"label_selector" json:"labelSelector,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` + Scope *string `tfsdk:"scope" json:"scope,omitempty"` + Search *string `tfsdk:"search" json:"search,omitempty"` + Statuses *[]string `tfsdk:"statuses" json:"statuses,omitempty"` + TagSelector *string `tfsdk:"tag_selector" json:"tagSelector,omitempty"` + Tags *map[string]string `tfsdk:"tags" json:"tags,omitempty"` + Type *string `tfsdk:"type" json:"type,omitempty"` + Types *[]string `tfsdk:"types" json:"types,omitempty"` } `tfsdk:"configs" json:"configs,omitempty"` GroupBy *struct { Selector *struct { - Agent *string `tfsdk:"agent" json:"agent,omitempty"` - Cache *string `tfsdk:"cache" json:"cache,omitempty"` - FieldSelector *string `tfsdk:"field_selector" json:"fieldSelector,omitempty"` - Id *string `tfsdk:"id" json:"id,omitempty"` - LabelSelector *string `tfsdk:"label_selector" json:"labelSelector,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` - Scope *string `tfsdk:"scope" json:"scope,omitempty"` - Statuses *[]string `tfsdk:"statuses" json:"statuses,omitempty"` - TagSelector *string `tfsdk:"tag_selector" json:"tagSelector,omitempty"` - Types *[]string `tfsdk:"types" json:"types,omitempty"` + Agent *string `tfsdk:"agent" json:"agent,omitempty"` + Cache *string `tfsdk:"cache" json:"cache,omitempty"` + FieldSelector *string `tfsdk:"field_selector" json:"fieldSelector,omitempty"` + Id *string `tfsdk:"id" json:"id,omitempty"` + IncludeDeleted *bool `tfsdk:"include_deleted" json:"includeDeleted,omitempty"` + LabelSelector *string `tfsdk:"label_selector" json:"labelSelector,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` + Scope *string `tfsdk:"scope" json:"scope,omitempty"` + Search *string `tfsdk:"search" json:"search,omitempty"` + Statuses *[]string `tfsdk:"statuses" json:"statuses,omitempty"` + TagSelector *string `tfsdk:"tag_selector" json:"tagSelector,omitempty"` + Types *[]string `tfsdk:"types" json:"types,omitempty"` } `tfsdk:"selector" json:"selector,omitempty"` Tag *string `tfsdk:"tag" json:"tag,omitempty"` } `tfsdk:"group_by" json:"groupBy,omitempty"` @@ -185,21 +196,23 @@ type CanariesFlanksourceComTopologyV1ManifestData struct { Color *string `tfsdk:"color" json:"color,omitempty"` ConfigLookup *struct { Config *struct { - Agent *string `tfsdk:"agent" json:"agent,omitempty"` - Cache *string `tfsdk:"cache" json:"cache,omitempty"` - Class *string `tfsdk:"class" json:"class,omitempty"` - External_id *string `tfsdk:"external_id" json:"external_id,omitempty"` - FieldSelector *string `tfsdk:"field_selector" json:"fieldSelector,omitempty"` - Id *string `tfsdk:"id" json:"id,omitempty"` - LabelSelector *string `tfsdk:"label_selector" json:"labelSelector,omitempty"` - Name *string `tfsdk:"name" json:"name,omitempty"` - Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` - Scope *string `tfsdk:"scope" json:"scope,omitempty"` - Statuses *[]string `tfsdk:"statuses" json:"statuses,omitempty"` - TagSelector *string `tfsdk:"tag_selector" json:"tagSelector,omitempty"` - Tags *map[string]string `tfsdk:"tags" json:"tags,omitempty"` - Type *string `tfsdk:"type" json:"type,omitempty"` - Types *[]string `tfsdk:"types" json:"types,omitempty"` + Agent *string `tfsdk:"agent" json:"agent,omitempty"` + Cache *string `tfsdk:"cache" json:"cache,omitempty"` + Class *string `tfsdk:"class" json:"class,omitempty"` + External_id *string `tfsdk:"external_id" json:"external_id,omitempty"` + FieldSelector *string `tfsdk:"field_selector" json:"fieldSelector,omitempty"` + Id *string `tfsdk:"id" json:"id,omitempty"` + IncludeDeleted *bool `tfsdk:"include_deleted" json:"includeDeleted,omitempty"` + LabelSelector *string `tfsdk:"label_selector" json:"labelSelector,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` + Scope *string `tfsdk:"scope" json:"scope,omitempty"` + Search *string `tfsdk:"search" json:"search,omitempty"` + Statuses *[]string `tfsdk:"statuses" json:"statuses,omitempty"` + TagSelector *string `tfsdk:"tag_selector" json:"tagSelector,omitempty"` + Tags *map[string]string `tfsdk:"tags" json:"tags,omitempty"` + Type *string `tfsdk:"type" json:"type,omitempty"` + Types *[]string `tfsdk:"types" json:"types,omitempty"` } `tfsdk:"config" json:"config,omitempty"` Display *struct { Expr *string `tfsdk:"expr" json:"expr,omitempty"` @@ -261,6 +274,9 @@ type CanariesFlanksourceComTopologyV1ManifestData struct { } `tfsdk:"value_from" json:"valueFrom,omitempty"` } `tfsdk:"bearer" json:"bearer,omitempty"` Connection *string `tfsdk:"connection" json:"connection,omitempty"` + Digest *bool `tfsdk:"digest" json:"digest,omitempty"` + Ntlm *bool `tfsdk:"ntlm" json:"ntlm,omitempty"` + Ntlmv2 *bool `tfsdk:"ntlmv2" json:"ntlmv2,omitempty"` Oauth *struct { ClientID *struct { Name *string `tfsdk:"name" json:"name,omitempty"` @@ -545,6 +561,14 @@ func (r *CanariesFlanksourceComTopologyV1Manifest) Schema(_ context.Context, _ d Computed: false, }, + "include_deleted": schema.BoolAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + "label_selector": schema.StringAttribute{ Description: "", MarkdownDescription: "", @@ -577,6 +601,14 @@ func (r *CanariesFlanksourceComTopologyV1Manifest) Schema(_ context.Context, _ d Computed: false, }, + "search": schema.StringAttribute{ + Description: "Search query that applies to the resource name, tag & labels.", + MarkdownDescription: "Search query that applies to the resource name, tag & labels.", + Required: false, + Optional: true, + Computed: false, + }, + "statuses": schema.ListAttribute{ Description: "", MarkdownDescription: "", @@ -676,6 +708,14 @@ func (r *CanariesFlanksourceComTopologyV1Manifest) Schema(_ context.Context, _ d Computed: false, }, + "include_deleted": schema.BoolAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + "label_selector": schema.StringAttribute{ Description: "", MarkdownDescription: "", @@ -708,6 +748,14 @@ func (r *CanariesFlanksourceComTopologyV1Manifest) Schema(_ context.Context, _ d Computed: false, }, + "search": schema.StringAttribute{ + Description: "Search query that applies to the resource name, tag & labels.", + MarkdownDescription: "Search query that applies to the resource name, tag & labels.", + Required: false, + Optional: true, + Computed: false, + }, + "statuses": schema.ListAttribute{ Description: "", MarkdownDescription: "", @@ -774,6 +822,14 @@ func (r *CanariesFlanksourceComTopologyV1Manifest) Schema(_ context.Context, _ d Computed: false, }, + "health": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + "hidden": schema.BoolAttribute{ Description: "If set to true, do not display in UI", MarkdownDescription: "If set to true, do not display in UI", @@ -1039,6 +1095,14 @@ func (r *CanariesFlanksourceComTopologyV1Manifest) Schema(_ context.Context, _ d Computed: false, }, + "include_deleted": schema.BoolAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + "label_selector": schema.StringAttribute{ Description: "", MarkdownDescription: "", @@ -1071,6 +1135,14 @@ func (r *CanariesFlanksourceComTopologyV1Manifest) Schema(_ context.Context, _ d Computed: false, }, + "search": schema.StringAttribute{ + Description: "Search query that applies to the resource name, tag & labels.", + MarkdownDescription: "Search query that applies to the resource name, tag & labels.", + Required: false, + Optional: true, + Computed: false, + }, + "statuses": schema.ListAttribute{ Description: "", MarkdownDescription: "", @@ -1254,6 +1326,14 @@ func (r *CanariesFlanksourceComTopologyV1Manifest) Schema(_ context.Context, _ d Computed: false, }, + "include_deleted": schema.BoolAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + "label_selector": schema.StringAttribute{ Description: "", MarkdownDescription: "", @@ -1286,6 +1366,14 @@ func (r *CanariesFlanksourceComTopologyV1Manifest) Schema(_ context.Context, _ d Computed: false, }, + "search": schema.StringAttribute{ + Description: "Search query that applies to the resource name, tag & labels.", + MarkdownDescription: "Search query that applies to the resource name, tag & labels.", + Required: false, + Optional: true, + Computed: false, + }, + "statuses": schema.ListAttribute{ Description: "", MarkdownDescription: "", @@ -1375,6 +1463,14 @@ func (r *CanariesFlanksourceComTopologyV1Manifest) Schema(_ context.Context, _ d Computed: false, }, + "include_deleted": schema.BoolAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + "label_selector": schema.StringAttribute{ Description: "", MarkdownDescription: "", @@ -1407,6 +1503,14 @@ func (r *CanariesFlanksourceComTopologyV1Manifest) Schema(_ context.Context, _ d Computed: false, }, + "search": schema.StringAttribute{ + Description: "Search query that applies to the resource name, tag & labels.", + MarkdownDescription: "Search query that applies to the resource name, tag & labels.", + Required: false, + Optional: true, + Computed: false, + }, + "statuses": schema.ListAttribute{ Description: "", MarkdownDescription: "", @@ -1585,6 +1689,14 @@ func (r *CanariesFlanksourceComTopologyV1Manifest) Schema(_ context.Context, _ d Computed: false, }, + "include_deleted": schema.BoolAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + "label_selector": schema.StringAttribute{ Description: "", MarkdownDescription: "", @@ -1617,6 +1729,14 @@ func (r *CanariesFlanksourceComTopologyV1Manifest) Schema(_ context.Context, _ d Computed: false, }, + "search": schema.StringAttribute{ + Description: "Search query that applies to the resource name, tag & labels.", + MarkdownDescription: "Search query that applies to the resource name, tag & labels.", + Required: false, + Optional: true, + Computed: false, + }, + "statuses": schema.ListAttribute{ Description: "", MarkdownDescription: "", @@ -2083,6 +2203,30 @@ func (r *CanariesFlanksourceComTopologyV1Manifest) Schema(_ context.Context, _ d Computed: false, }, + "digest": schema.BoolAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "ntlm": schema.BoolAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "ntlmv2": schema.BoolAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + "oauth": schema.SingleNestedAttribute{ Description: "", MarkdownDescription: "", diff --git a/internal/provider/cilium_io_v2alpha1/cilium_io_cilium_load_balancer_ip_pool_v2alpha1_manifest.go b/internal/provider/cilium_io_v2alpha1/cilium_io_cilium_load_balancer_ip_pool_v2alpha1_manifest.go index 94a54958f..b34a89ce6 100644 --- a/internal/provider/cilium_io_v2alpha1/cilium_io_cilium_load_balancer_ip_pool_v2alpha1_manifest.go +++ b/internal/provider/cilium_io_v2alpha1/cilium_io_cilium_load_balancer_ip_pool_v2alpha1_manifest.go @@ -126,8 +126,8 @@ func (r *CiliumIoCiliumLoadBalancerIppoolV2Alpha1Manifest) Schema(_ context.Cont MarkdownDescription: "Spec is a human readable description for a BGP load balancer ip pool.", Attributes: map[string]schema.Attribute{ "allow_first_last_i_ps": schema.StringAttribute{ - Description: "AllowFirstLastIPs, if set to 'yes' means that the first and last IPs of each CIDR will be allocatable. If 'no' or undefined, these IPs will be reserved. This field is ignored for /{31,32} and /{127,128} CIDRs since reserving the first and last IPs would make the CIDRs unusable.", - MarkdownDescription: "AllowFirstLastIPs, if set to 'yes' means that the first and last IPs of each CIDR will be allocatable. If 'no' or undefined, these IPs will be reserved. This field is ignored for /{31,32} and /{127,128} CIDRs since reserving the first and last IPs would make the CIDRs unusable.", + Description: "AllowFirstLastIPs, if set to 'Yes' or undefined means that the first and last IPs of each CIDR will be allocatable. If 'No', these IPs will be reserved. This field is ignored for /{31,32} and /{127,128} CIDRs since reserving the first and last IPs would make the CIDRs unusable.", + MarkdownDescription: "AllowFirstLastIPs, if set to 'Yes' or undefined means that the first and last IPs of each CIDR will be allocatable. If 'No', these IPs will be reserved. This field is ignored for /{31,32} and /{127,128} CIDRs since reserving the first and last IPs would make the CIDRs unusable.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/claudie_io_v1beta1/claudie_io_input_manifest_v1beta1_manifest.go b/internal/provider/claudie_io_v1beta1/claudie_io_input_manifest_v1beta1_manifest.go index b4e005c11..ca16f45fb 100644 --- a/internal/provider/claudie_io_v1beta1/claudie_io_input_manifest_v1beta1_manifest.go +++ b/internal/provider/claudie_io_v1beta1/claudie_io_input_manifest_v1beta1_manifest.go @@ -130,6 +130,11 @@ type ClaudieIoInputManifestV1Beta1ManifestData struct { Name *string `tfsdk:"name" json:"name,omitempty"` Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` } `tfsdk:"secret_ref" json:"secretRef,omitempty"` + Templates *struct { + Path *string `tfsdk:"path" json:"path,omitempty"` + Repository *string `tfsdk:"repository" json:"repository,omitempty"` + Tag *string `tfsdk:"tag" json:"tag,omitempty"` + } `tfsdk:"templates" json:"templates,omitempty"` } `tfsdk:"providers" json:"providers,omitempty"` } `tfsdk:"spec" json:"spec,omitempty"` } @@ -784,8 +789,8 @@ func (r *ClaudieIoInputManifestV1Beta1Manifest) Schema(_ context.Context, _ data }, "provider_type": schema.StringAttribute{ - Description: "ProviderType type of a provider.A list of available providers can be found at https://docs.claudie.io/v0.3.2/input-manifest/providers/aws/", - MarkdownDescription: "ProviderType type of a provider.A list of available providers can be found at https://docs.claudie.io/v0.3.2/input-manifest/providers/aws/", + Description: "ProviderType type of a provider.A list of available providers can be found at https://docs.claudie.io/v0.8.1/input-manifest/providers/aws/", + MarkdownDescription: "ProviderType type of a provider.A list of available providers can be found at https://docs.claudie.io/v0.8.1/input-manifest/providers/aws/", Required: true, Optional: false, Computed: false, @@ -818,6 +823,39 @@ func (r *ClaudieIoInputManifestV1Beta1Manifest) Schema(_ context.Context, _ data Optional: false, Computed: false, }, + + "templates": schema.SingleNestedAttribute{ + Description: "External templates for building the cluster infrastructure.", + MarkdownDescription: "External templates for building the cluster infrastructure.", + Attributes: map[string]schema.Attribute{ + "path": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "repository": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "tag": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, }, }, Required: false, diff --git a/internal/provider/cluster_x_k8s_io_v1alpha3/cluster_x_k8s_io_cluster_v1alpha3_manifest.go b/internal/provider/cluster_x_k8s_io_v1alpha3/cluster_x_k8s_io_cluster_v1alpha3_manifest.go index e84367596..62bda084a 100644 --- a/internal/provider/cluster_x_k8s_io_v1alpha3/cluster_x_k8s_io_cluster_v1alpha3_manifest.go +++ b/internal/provider/cluster_x_k8s_io_v1alpha3/cluster_x_k8s_io_cluster_v1alpha3_manifest.go @@ -255,8 +255,8 @@ func (r *ClusterXK8SIoClusterV1Alpha3Manifest) Schema(_ context.Context, _ datas }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, @@ -320,8 +320,8 @@ func (r *ClusterXK8SIoClusterV1Alpha3Manifest) Schema(_ context.Context, _ datas }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/cluster_x_k8s_io_v1alpha3/cluster_x_k8s_io_machine_deployment_v1alpha3_manifest.go b/internal/provider/cluster_x_k8s_io_v1alpha3/cluster_x_k8s_io_machine_deployment_v1alpha3_manifest.go index 0f14cad16..a4ab5627f 100644 --- a/internal/provider/cluster_x_k8s_io_v1alpha3/cluster_x_k8s_io_machine_deployment_v1alpha3_manifest.go +++ b/internal/provider/cluster_x_k8s_io_v1alpha3/cluster_x_k8s_io_machine_deployment_v1alpha3_manifest.go @@ -472,8 +472,8 @@ func (r *ClusterXK8SIoMachineDeploymentV1Alpha3Manifest) Schema(_ context.Contex }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, @@ -577,8 +577,8 @@ func (r *ClusterXK8SIoMachineDeploymentV1Alpha3Manifest) Schema(_ context.Contex }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/cluster_x_k8s_io_v1alpha3/cluster_x_k8s_io_machine_health_check_v1alpha3_manifest.go b/internal/provider/cluster_x_k8s_io_v1alpha3/cluster_x_k8s_io_machine_health_check_v1alpha3_manifest.go index f0a242962..2776c8ef2 100644 --- a/internal/provider/cluster_x_k8s_io_v1alpha3/cluster_x_k8s_io_machine_health_check_v1alpha3_manifest.go +++ b/internal/provider/cluster_x_k8s_io_v1alpha3/cluster_x_k8s_io_machine_health_check_v1alpha3_manifest.go @@ -188,8 +188,8 @@ func (r *ClusterXK8SIoMachineHealthCheckV1Alpha3Manifest) Schema(_ context.Conte }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/cluster_x_k8s_io_v1alpha3/cluster_x_k8s_io_machine_pool_v1alpha3_manifest.go b/internal/provider/cluster_x_k8s_io_v1alpha3/cluster_x_k8s_io_machine_pool_v1alpha3_manifest.go index cc9a5ead9..c84b75256 100644 --- a/internal/provider/cluster_x_k8s_io_v1alpha3/cluster_x_k8s_io_machine_pool_v1alpha3_manifest.go +++ b/internal/provider/cluster_x_k8s_io_v1alpha3/cluster_x_k8s_io_machine_pool_v1alpha3_manifest.go @@ -403,8 +403,8 @@ func (r *ClusterXK8SIoMachinePoolV1Alpha3Manifest) Schema(_ context.Context, _ d }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, @@ -508,8 +508,8 @@ func (r *ClusterXK8SIoMachinePoolV1Alpha3Manifest) Schema(_ context.Context, _ d }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/cluster_x_k8s_io_v1alpha3/cluster_x_k8s_io_machine_set_v1alpha3_manifest.go b/internal/provider/cluster_x_k8s_io_v1alpha3/cluster_x_k8s_io_machine_set_v1alpha3_manifest.go index 0b41342f2..4155852a7 100644 --- a/internal/provider/cluster_x_k8s_io_v1alpha3/cluster_x_k8s_io_machine_set_v1alpha3_manifest.go +++ b/internal/provider/cluster_x_k8s_io_v1alpha3/cluster_x_k8s_io_machine_set_v1alpha3_manifest.go @@ -408,8 +408,8 @@ func (r *ClusterXK8SIoMachineSetV1Alpha3Manifest) Schema(_ context.Context, _ da }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, @@ -513,8 +513,8 @@ func (r *ClusterXK8SIoMachineSetV1Alpha3Manifest) Schema(_ context.Context, _ da }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/cluster_x_k8s_io_v1alpha3/cluster_x_k8s_io_machine_v1alpha3_manifest.go b/internal/provider/cluster_x_k8s_io_v1alpha3/cluster_x_k8s_io_machine_v1alpha3_manifest.go index 364f92d8c..38c992de9 100644 --- a/internal/provider/cluster_x_k8s_io_v1alpha3/cluster_x_k8s_io_machine_v1alpha3_manifest.go +++ b/internal/provider/cluster_x_k8s_io_v1alpha3/cluster_x_k8s_io_machine_v1alpha3_manifest.go @@ -167,8 +167,8 @@ func (r *ClusterXK8SIoMachineV1Alpha3Manifest) Schema(_ context.Context, _ datas }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, @@ -272,8 +272,8 @@ func (r *ClusterXK8SIoMachineV1Alpha3Manifest) Schema(_ context.Context, _ datas }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/cluster_x_k8s_io_v1alpha4/cluster_x_k8s_io_cluster_class_v1alpha4_manifest.go b/internal/provider/cluster_x_k8s_io_v1alpha4/cluster_x_k8s_io_cluster_class_v1alpha4_manifest.go index 7ad001505..45335f049 100644 --- a/internal/provider/cluster_x_k8s_io_v1alpha4/cluster_x_k8s_io_cluster_class_v1alpha4_manifest.go +++ b/internal/provider/cluster_x_k8s_io_v1alpha4/cluster_x_k8s_io_cluster_class_v1alpha4_manifest.go @@ -214,8 +214,8 @@ func (r *ClusterXK8SIoClusterClassV1Alpha4Manifest) Schema(_ context.Context, _ }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, @@ -311,8 +311,8 @@ func (r *ClusterXK8SIoClusterClassV1Alpha4Manifest) Schema(_ context.Context, _ }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, @@ -385,8 +385,8 @@ func (r *ClusterXK8SIoClusterClassV1Alpha4Manifest) Schema(_ context.Context, _ }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, @@ -480,8 +480,8 @@ func (r *ClusterXK8SIoClusterClassV1Alpha4Manifest) Schema(_ context.Context, _ }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, @@ -554,8 +554,8 @@ func (r *ClusterXK8SIoClusterClassV1Alpha4Manifest) Schema(_ context.Context, _ }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/cluster_x_k8s_io_v1alpha4/cluster_x_k8s_io_cluster_v1alpha4_manifest.go b/internal/provider/cluster_x_k8s_io_v1alpha4/cluster_x_k8s_io_cluster_v1alpha4_manifest.go index b88fdcf10..4875959e0 100644 --- a/internal/provider/cluster_x_k8s_io_v1alpha4/cluster_x_k8s_io_cluster_v1alpha4_manifest.go +++ b/internal/provider/cluster_x_k8s_io_v1alpha4/cluster_x_k8s_io_cluster_v1alpha4_manifest.go @@ -278,8 +278,8 @@ func (r *ClusterXK8SIoClusterV1Alpha4Manifest) Schema(_ context.Context, _ datas }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, @@ -343,8 +343,8 @@ func (r *ClusterXK8SIoClusterV1Alpha4Manifest) Schema(_ context.Context, _ datas }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/cluster_x_k8s_io_v1alpha4/cluster_x_k8s_io_machine_deployment_v1alpha4_manifest.go b/internal/provider/cluster_x_k8s_io_v1alpha4/cluster_x_k8s_io_machine_deployment_v1alpha4_manifest.go index fb16e6063..eede49b0d 100644 --- a/internal/provider/cluster_x_k8s_io_v1alpha4/cluster_x_k8s_io_machine_deployment_v1alpha4_manifest.go +++ b/internal/provider/cluster_x_k8s_io_v1alpha4/cluster_x_k8s_io_machine_deployment_v1alpha4_manifest.go @@ -392,8 +392,8 @@ func (r *ClusterXK8SIoMachineDeploymentV1Alpha4Manifest) Schema(_ context.Contex }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, @@ -489,8 +489,8 @@ func (r *ClusterXK8SIoMachineDeploymentV1Alpha4Manifest) Schema(_ context.Contex }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/cluster_x_k8s_io_v1alpha4/cluster_x_k8s_io_machine_health_check_v1alpha4_manifest.go b/internal/provider/cluster_x_k8s_io_v1alpha4/cluster_x_k8s_io_machine_health_check_v1alpha4_manifest.go index 3e7fce6e9..0ea840e11 100644 --- a/internal/provider/cluster_x_k8s_io_v1alpha4/cluster_x_k8s_io_machine_health_check_v1alpha4_manifest.go +++ b/internal/provider/cluster_x_k8s_io_v1alpha4/cluster_x_k8s_io_machine_health_check_v1alpha4_manifest.go @@ -190,8 +190,8 @@ func (r *ClusterXK8SIoMachineHealthCheckV1Alpha4Manifest) Schema(_ context.Conte }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/cluster_x_k8s_io_v1alpha4/cluster_x_k8s_io_machine_pool_v1alpha4_manifest.go b/internal/provider/cluster_x_k8s_io_v1alpha4/cluster_x_k8s_io_machine_pool_v1alpha4_manifest.go index 0d583e9dc..4e047ce79 100644 --- a/internal/provider/cluster_x_k8s_io_v1alpha4/cluster_x_k8s_io_machine_pool_v1alpha4_manifest.go +++ b/internal/provider/cluster_x_k8s_io_v1alpha4/cluster_x_k8s_io_machine_pool_v1alpha4_manifest.go @@ -259,8 +259,8 @@ func (r *ClusterXK8SIoMachinePoolV1Alpha4Manifest) Schema(_ context.Context, _ d }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, @@ -356,8 +356,8 @@ func (r *ClusterXK8SIoMachinePoolV1Alpha4Manifest) Schema(_ context.Context, _ d }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/cluster_x_k8s_io_v1alpha4/cluster_x_k8s_io_machine_set_v1alpha4_manifest.go b/internal/provider/cluster_x_k8s_io_v1alpha4/cluster_x_k8s_io_machine_set_v1alpha4_manifest.go index 7aa9d5b0a..70c6ba03f 100644 --- a/internal/provider/cluster_x_k8s_io_v1alpha4/cluster_x_k8s_io_machine_set_v1alpha4_manifest.go +++ b/internal/provider/cluster_x_k8s_io_v1alpha4/cluster_x_k8s_io_machine_set_v1alpha4_manifest.go @@ -313,8 +313,8 @@ func (r *ClusterXK8SIoMachineSetV1Alpha4Manifest) Schema(_ context.Context, _ da }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, @@ -410,8 +410,8 @@ func (r *ClusterXK8SIoMachineSetV1Alpha4Manifest) Schema(_ context.Context, _ da }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/cluster_x_k8s_io_v1alpha4/cluster_x_k8s_io_machine_v1alpha4_manifest.go b/internal/provider/cluster_x_k8s_io_v1alpha4/cluster_x_k8s_io_machine_v1alpha4_manifest.go index ed73c1ae8..ed54c236d 100644 --- a/internal/provider/cluster_x_k8s_io_v1alpha4/cluster_x_k8s_io_machine_v1alpha4_manifest.go +++ b/internal/provider/cluster_x_k8s_io_v1alpha4/cluster_x_k8s_io_machine_v1alpha4_manifest.go @@ -166,8 +166,8 @@ func (r *ClusterXK8SIoMachineV1Alpha4Manifest) Schema(_ context.Context, _ datas }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, @@ -263,8 +263,8 @@ func (r *ClusterXK8SIoMachineV1Alpha4Manifest) Schema(_ context.Context, _ datas }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/cluster_x_k8s_io_v1beta1/cluster_x_k8s_io_cluster_class_v1beta1_manifest.go b/internal/provider/cluster_x_k8s_io_v1beta1/cluster_x_k8s_io_cluster_class_v1beta1_manifest.go index feefbe23e..9363fcb6e 100644 --- a/internal/provider/cluster_x_k8s_io_v1beta1/cluster_x_k8s_io_cluster_class_v1beta1_manifest.go +++ b/internal/provider/cluster_x_k8s_io_v1beta1/cluster_x_k8s_io_cluster_class_v1beta1_manifest.go @@ -415,8 +415,8 @@ func (r *ClusterXK8SIoClusterClassV1Beta1Manifest) Schema(_ context.Context, _ d }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, @@ -541,8 +541,8 @@ func (r *ClusterXK8SIoClusterClassV1Beta1Manifest) Schema(_ context.Context, _ d }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, @@ -679,8 +679,8 @@ func (r *ClusterXK8SIoClusterClassV1Beta1Manifest) Schema(_ context.Context, _ d }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, @@ -753,8 +753,8 @@ func (r *ClusterXK8SIoClusterClassV1Beta1Manifest) Schema(_ context.Context, _ d }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, @@ -1447,8 +1447,8 @@ func (r *ClusterXK8SIoClusterClassV1Beta1Manifest) Schema(_ context.Context, _ d }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, @@ -1699,8 +1699,8 @@ func (r *ClusterXK8SIoClusterClassV1Beta1Manifest) Schema(_ context.Context, _ d }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, @@ -1773,8 +1773,8 @@ func (r *ClusterXK8SIoClusterClassV1Beta1Manifest) Schema(_ context.Context, _ d }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, @@ -1960,8 +1960,8 @@ func (r *ClusterXK8SIoClusterClassV1Beta1Manifest) Schema(_ context.Context, _ d }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, @@ -2034,8 +2034,8 @@ func (r *ClusterXK8SIoClusterClassV1Beta1Manifest) Schema(_ context.Context, _ d }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/cluster_x_k8s_io_v1beta1/cluster_x_k8s_io_cluster_v1beta1_manifest.go b/internal/provider/cluster_x_k8s_io_v1beta1/cluster_x_k8s_io_cluster_v1beta1_manifest.go index b0e414134..3aea8d06b 100644 --- a/internal/provider/cluster_x_k8s_io_v1beta1/cluster_x_k8s_io_cluster_v1beta1_manifest.go +++ b/internal/provider/cluster_x_k8s_io_v1beta1/cluster_x_k8s_io_cluster_v1beta1_manifest.go @@ -378,8 +378,8 @@ func (r *ClusterXK8SIoClusterV1Beta1Manifest) Schema(_ context.Context, _ dataso }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, @@ -443,8 +443,8 @@ func (r *ClusterXK8SIoClusterV1Beta1Manifest) Schema(_ context.Context, _ dataso }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, @@ -560,8 +560,8 @@ func (r *ClusterXK8SIoClusterV1Beta1Manifest) Schema(_ context.Context, _ dataso }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, @@ -899,8 +899,8 @@ func (r *ClusterXK8SIoClusterV1Beta1Manifest) Schema(_ context.Context, _ dataso }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/cluster_x_k8s_io_v1beta1/cluster_x_k8s_io_machine_deployment_v1beta1_manifest.go b/internal/provider/cluster_x_k8s_io_v1beta1/cluster_x_k8s_io_machine_deployment_v1beta1_manifest.go index 5d516ea01..bfaa89078 100644 --- a/internal/provider/cluster_x_k8s_io_v1beta1/cluster_x_k8s_io_machine_deployment_v1beta1_manifest.go +++ b/internal/provider/cluster_x_k8s_io_v1beta1/cluster_x_k8s_io_machine_deployment_v1beta1_manifest.go @@ -426,8 +426,8 @@ func (r *ClusterXK8SIoMachineDeploymentV1Beta1Manifest) Schema(_ context.Context }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, @@ -523,8 +523,8 @@ func (r *ClusterXK8SIoMachineDeploymentV1Beta1Manifest) Schema(_ context.Context }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/cluster_x_k8s_io_v1beta1/cluster_x_k8s_io_machine_health_check_v1beta1_manifest.go b/internal/provider/cluster_x_k8s_io_v1beta1/cluster_x_k8s_io_machine_health_check_v1beta1_manifest.go index 99e59cd6c..cdb03bcca 100644 --- a/internal/provider/cluster_x_k8s_io_v1beta1/cluster_x_k8s_io_machine_health_check_v1beta1_manifest.go +++ b/internal/provider/cluster_x_k8s_io_v1beta1/cluster_x_k8s_io_machine_health_check_v1beta1_manifest.go @@ -190,8 +190,8 @@ func (r *ClusterXK8SIoMachineHealthCheckV1Beta1Manifest) Schema(_ context.Contex }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/cluster_x_k8s_io_v1beta1/cluster_x_k8s_io_machine_pool_v1beta1_manifest.go b/internal/provider/cluster_x_k8s_io_v1beta1/cluster_x_k8s_io_machine_pool_v1beta1_manifest.go index eae9b7547..2d458dd1e 100644 --- a/internal/provider/cluster_x_k8s_io_v1beta1/cluster_x_k8s_io_machine_pool_v1beta1_manifest.go +++ b/internal/provider/cluster_x_k8s_io_v1beta1/cluster_x_k8s_io_machine_pool_v1beta1_manifest.go @@ -261,8 +261,8 @@ func (r *ClusterXK8SIoMachinePoolV1Beta1Manifest) Schema(_ context.Context, _ da }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, @@ -358,8 +358,8 @@ func (r *ClusterXK8SIoMachinePoolV1Beta1Manifest) Schema(_ context.Context, _ da }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/cluster_x_k8s_io_v1beta1/cluster_x_k8s_io_machine_set_v1beta1_manifest.go b/internal/provider/cluster_x_k8s_io_v1beta1/cluster_x_k8s_io_machine_set_v1beta1_manifest.go index f496b930d..910170617 100644 --- a/internal/provider/cluster_x_k8s_io_v1beta1/cluster_x_k8s_io_machine_set_v1beta1_manifest.go +++ b/internal/provider/cluster_x_k8s_io_v1beta1/cluster_x_k8s_io_machine_set_v1beta1_manifest.go @@ -315,8 +315,8 @@ func (r *ClusterXK8SIoMachineSetV1Beta1Manifest) Schema(_ context.Context, _ dat }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, @@ -412,8 +412,8 @@ func (r *ClusterXK8SIoMachineSetV1Beta1Manifest) Schema(_ context.Context, _ dat }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/cluster_x_k8s_io_v1beta1/cluster_x_k8s_io_machine_v1beta1_manifest.go b/internal/provider/cluster_x_k8s_io_v1beta1/cluster_x_k8s_io_machine_v1beta1_manifest.go index 49cff7f89..97fe4a6be 100644 --- a/internal/provider/cluster_x_k8s_io_v1beta1/cluster_x_k8s_io_machine_v1beta1_manifest.go +++ b/internal/provider/cluster_x_k8s_io_v1beta1/cluster_x_k8s_io_machine_v1beta1_manifest.go @@ -168,8 +168,8 @@ func (r *ClusterXK8SIoMachineV1Beta1Manifest) Schema(_ context.Context, _ dataso }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, @@ -265,8 +265,8 @@ func (r *ClusterXK8SIoMachineV1Beta1Manifest) Schema(_ context.Context, _ dataso }, "field_path": schema.StringAttribute{ - Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", - MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.TODO: this design is not final and this field is subject to change in the future.", + Description: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", + MarkdownDescription: "If referring to a piece of an object instead of an entire object, this stringshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].For example, if the object reference is to a container within a pod, this would take on a value like:'spec.containers{name}' (where 'name' refers to the name of the container that triggeredthe event) or if no container name is specified 'spec.containers[2]' (container withindex 2 in this pod). This syntax is chosen only to have some well-defined way ofreferencing a part of an object.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/dataprotection_kubeblocks_io_v1alpha1/dataprotection_kubeblocks_io_backup_policy_v1alpha1_manifest.go b/internal/provider/dataprotection_kubeblocks_io_v1alpha1/dataprotection_kubeblocks_io_backup_policy_v1alpha1_manifest.go index 07b7dca34..0527b0ccb 100644 --- a/internal/provider/dataprotection_kubeblocks_io_v1alpha1/dataprotection_kubeblocks_io_backup_policy_v1alpha1_manifest.go +++ b/internal/provider/dataprotection_kubeblocks_io_v1alpha1/dataprotection_kubeblocks_io_backup_policy_v1alpha1_manifest.go @@ -92,6 +92,10 @@ type DataprotectionKubeblocksIoBackupPolicyV1Alpha1ManifestData struct { SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"` UsernameKey *string `tfsdk:"username_key" json:"usernameKey,omitempty"` } `tfsdk:"connection_credential" json:"connectionCredential,omitempty"` + ContainerPort *struct { + ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"` + PortName *string `tfsdk:"port_name" json:"portName,omitempty"` + } `tfsdk:"container_port" json:"containerPort,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` PodSelector *struct { FallbackLabelSelector *struct { @@ -143,6 +147,10 @@ type DataprotectionKubeblocksIoBackupPolicyV1Alpha1ManifestData struct { SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"` UsernameKey *string `tfsdk:"username_key" json:"usernameKey,omitempty"` } `tfsdk:"connection_credential" json:"connectionCredential,omitempty"` + ContainerPort *struct { + ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"` + PortName *string `tfsdk:"port_name" json:"portName,omitempty"` + } `tfsdk:"container_port" json:"containerPort,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` PodSelector *struct { FallbackLabelSelector *struct { @@ -194,6 +202,10 @@ type DataprotectionKubeblocksIoBackupPolicyV1Alpha1ManifestData struct { SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"` UsernameKey *string `tfsdk:"username_key" json:"usernameKey,omitempty"` } `tfsdk:"connection_credential" json:"connectionCredential,omitempty"` + ContainerPort *struct { + ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"` + PortName *string `tfsdk:"port_name" json:"portName,omitempty"` + } `tfsdk:"container_port" json:"containerPort,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` PodSelector *struct { FallbackLabelSelector *struct { @@ -234,6 +246,10 @@ type DataprotectionKubeblocksIoBackupPolicyV1Alpha1ManifestData struct { SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"` UsernameKey *string `tfsdk:"username_key" json:"usernameKey,omitempty"` } `tfsdk:"connection_credential" json:"connectionCredential,omitempty"` + ContainerPort *struct { + ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"` + PortName *string `tfsdk:"port_name" json:"portName,omitempty"` + } `tfsdk:"container_port" json:"containerPort,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` PodSelector *struct { FallbackLabelSelector *struct { @@ -662,6 +678,31 @@ func (r *DataprotectionKubeblocksIoBackupPolicyV1Alpha1Manifest) Schema(_ contex Computed: false, }, + "container_port": schema.SingleNestedAttribute{ + Description: "Specifies the container port in the target pod.If not specified, the first container and its first port will be used.", + MarkdownDescription: "Specifies the container port in the target pod.If not specified, the first container and its first port will be used.", + Attributes: map[string]schema.Attribute{ + "container_name": schema.StringAttribute{ + Description: "Specifies the name of container with the port.", + MarkdownDescription: "Specifies the name of container with the port.", + Required: false, + Optional: true, + Computed: false, + }, + + "port_name": schema.StringAttribute{ + Description: "Specifies the port name.", + MarkdownDescription: "Specifies the port name.", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + "name": schema.StringAttribute{ Description: "Specifies a mandatory and unique identifier for each target when using the 'targets' field.The backup data for the current target is stored in a uniquely named subdirectory.", MarkdownDescription: "Specifies a mandatory and unique identifier for each target when using the 'targets' field.The backup data for the current target is stored in a uniquely named subdirectory.", @@ -1017,6 +1058,31 @@ func (r *DataprotectionKubeblocksIoBackupPolicyV1Alpha1Manifest) Schema(_ contex Computed: false, }, + "container_port": schema.SingleNestedAttribute{ + Description: "Specifies the container port in the target pod.If not specified, the first container and its first port will be used.", + MarkdownDescription: "Specifies the container port in the target pod.If not specified, the first container and its first port will be used.", + Attributes: map[string]schema.Attribute{ + "container_name": schema.StringAttribute{ + Description: "Specifies the name of container with the port.", + MarkdownDescription: "Specifies the name of container with the port.", + Required: false, + Optional: true, + Computed: false, + }, + + "port_name": schema.StringAttribute{ + Description: "Specifies the port name.", + MarkdownDescription: "Specifies the port name.", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + "name": schema.StringAttribute{ Description: "Specifies a mandatory and unique identifier for each target when using the 'targets' field.The backup data for the current target is stored in a uniquely named subdirectory.", MarkdownDescription: "Specifies a mandatory and unique identifier for each target when using the 'targets' field.The backup data for the current target is stored in a uniquely named subdirectory.", @@ -1373,6 +1439,31 @@ func (r *DataprotectionKubeblocksIoBackupPolicyV1Alpha1Manifest) Schema(_ contex Computed: false, }, + "container_port": schema.SingleNestedAttribute{ + Description: "Specifies the container port in the target pod.If not specified, the first container and its first port will be used.", + MarkdownDescription: "Specifies the container port in the target pod.If not specified, the first container and its first port will be used.", + Attributes: map[string]schema.Attribute{ + "container_name": schema.StringAttribute{ + Description: "Specifies the name of container with the port.", + MarkdownDescription: "Specifies the name of container with the port.", + Required: false, + Optional: true, + Computed: false, + }, + + "port_name": schema.StringAttribute{ + Description: "Specifies the port name.", + MarkdownDescription: "Specifies the port name.", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + "name": schema.StringAttribute{ Description: "Specifies a mandatory and unique identifier for each target when using the 'targets' field.The backup data for the current target is stored in a uniquely named subdirectory.", MarkdownDescription: "Specifies a mandatory and unique identifier for each target when using the 'targets' field.The backup data for the current target is stored in a uniquely named subdirectory.", @@ -1651,6 +1742,31 @@ func (r *DataprotectionKubeblocksIoBackupPolicyV1Alpha1Manifest) Schema(_ contex Computed: false, }, + "container_port": schema.SingleNestedAttribute{ + Description: "Specifies the container port in the target pod.If not specified, the first container and its first port will be used.", + MarkdownDescription: "Specifies the container port in the target pod.If not specified, the first container and its first port will be used.", + Attributes: map[string]schema.Attribute{ + "container_name": schema.StringAttribute{ + Description: "Specifies the name of container with the port.", + MarkdownDescription: "Specifies the name of container with the port.", + Required: false, + Optional: true, + Computed: false, + }, + + "port_name": schema.StringAttribute{ + Description: "Specifies the port name.", + MarkdownDescription: "Specifies the port name.", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + "name": schema.StringAttribute{ Description: "Specifies a mandatory and unique identifier for each target when using the 'targets' field.The backup data for the current target is stored in a uniquely named subdirectory.", MarkdownDescription: "Specifies a mandatory and unique identifier for each target when using the 'targets' field.The backup data for the current target is stored in a uniquely named subdirectory.", diff --git a/internal/provider/fluentbit_fluent_io_v1alpha2/fluentbit_fluent_io_cluster_fluent_bit_config_v1alpha2_manifest.go b/internal/provider/fluentbit_fluent_io_v1alpha2/fluentbit_fluent_io_cluster_fluent_bit_config_v1alpha2_manifest.go index f18343cf2..a045b4765 100644 --- a/internal/provider/fluentbit_fluent_io_v1alpha2/fluentbit_fluent_io_cluster_fluent_bit_config_v1alpha2_manifest.go +++ b/internal/provider/fluentbit_fluent_io_v1alpha2/fluentbit_fluent_io_cluster_fluent_bit_config_v1alpha2_manifest.go @@ -97,6 +97,7 @@ type FluentbitFluentIoClusterFluentBitConfigV1Alpha2ManifestData struct { HcPeriod *int64 `tfsdk:"hc_period" json:"hcPeriod,omitempty"` HcRetryFailureCount *int64 `tfsdk:"hc_retry_failure_count" json:"hcRetryFailureCount,omitempty"` HealthCheck *bool `tfsdk:"health_check" json:"healthCheck,omitempty"` + HotReload *bool `tfsdk:"hot_reload" json:"hotReload,omitempty"` HttpListen *string `tfsdk:"http_listen" json:"httpListen,omitempty"` HttpPort *int64 `tfsdk:"http_port" json:"httpPort,omitempty"` HttpServer *bool `tfsdk:"http_server" json:"httpServer,omitempty"` @@ -564,6 +565,14 @@ func (r *FluentbitFluentIoClusterFluentBitConfigV1Alpha2Manifest) Schema(_ conte Computed: false, }, + "hot_reload": schema.BoolAttribute{ + Description: "If true enable reloading via HTTP", + MarkdownDescription: "If true enable reloading via HTTP", + Required: false, + Optional: true, + Computed: false, + }, + "http_listen": schema.StringAttribute{ Description: "Address to listen", MarkdownDescription: "Address to listen", diff --git a/internal/provider/fluentbit_fluent_io_v1alpha2/fluentbit_fluent_io_fluent_bit_config_v1alpha2_manifest.go b/internal/provider/fluentbit_fluent_io_v1alpha2/fluentbit_fluent_io_fluent_bit_config_v1alpha2_manifest.go index 5006a6cd9..909f111c6 100644 --- a/internal/provider/fluentbit_fluent_io_v1alpha2/fluentbit_fluent_io_fluent_bit_config_v1alpha2_manifest.go +++ b/internal/provider/fluentbit_fluent_io_v1alpha2/fluentbit_fluent_io_fluent_bit_config_v1alpha2_manifest.go @@ -104,6 +104,7 @@ type FluentbitFluentIoFluentBitConfigV1Alpha2ManifestData struct { HcPeriod *int64 `tfsdk:"hc_period" json:"hcPeriod,omitempty"` HcRetryFailureCount *int64 `tfsdk:"hc_retry_failure_count" json:"hcRetryFailureCount,omitempty"` HealthCheck *bool `tfsdk:"health_check" json:"healthCheck,omitempty"` + HotReload *bool `tfsdk:"hot_reload" json:"hotReload,omitempty"` HttpListen *string `tfsdk:"http_listen" json:"httpListen,omitempty"` HttpPort *int64 `tfsdk:"http_port" json:"httpPort,omitempty"` HttpServer *bool `tfsdk:"http_server" json:"httpServer,omitempty"` @@ -618,6 +619,14 @@ func (r *FluentbitFluentIoFluentBitConfigV1Alpha2Manifest) Schema(_ context.Cont Computed: false, }, + "hot_reload": schema.BoolAttribute{ + Description: "If true enable reloading via HTTP", + MarkdownDescription: "If true enable reloading via HTTP", + Required: false, + Optional: true, + Computed: false, + }, + "http_listen": schema.StringAttribute{ Description: "Address to listen", MarkdownDescription: "Address to listen", diff --git a/internal/provider/gateway_solo_io_v1/gateway_solo_io_virtual_host_option_v1_manifest.go b/internal/provider/gateway_solo_io_v1/gateway_solo_io_virtual_host_option_v1_manifest.go index 5256593a3..63a455f20 100644 --- a/internal/provider/gateway_solo_io_v1/gateway_solo_io_virtual_host_option_v1_manifest.go +++ b/internal/provider/gateway_solo_io_v1/gateway_solo_io_virtual_host_option_v1_manifest.go @@ -64,6 +64,9 @@ type GatewaySoloIoVirtualHostOptionV1ManifestData struct { ExposeHeaders *[]string `tfsdk:"expose_headers" json:"exposeHeaders,omitempty"` MaxAge *string `tfsdk:"max_age" json:"maxAge,omitempty"` } `tfsdk:"cors" json:"cors,omitempty"` + CorsPolicyMergeSettings *struct { + ExposeHeaders *string `tfsdk:"expose_headers" json:"exposeHeaders,omitempty"` + } `tfsdk:"cors_policy_merge_settings" json:"corsPolicyMergeSettings,omitempty"` Csrf *struct { AdditionalOrigins *[]struct { Exact *string `tfsdk:"exact" json:"exact,omitempty"` @@ -1643,6 +1646,23 @@ func (r *GatewaySoloIoVirtualHostOptionV1Manifest) Schema(_ context.Context, _ d Computed: false, }, + "cors_policy_merge_settings": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "expose_headers": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + "csrf": schema.SingleNestedAttribute{ Description: "", MarkdownDescription: "", diff --git a/internal/provider/gateway_solo_io_v1/gateway_solo_io_virtual_service_v1_manifest.go b/internal/provider/gateway_solo_io_v1/gateway_solo_io_virtual_service_v1_manifest.go index ef0a18a7d..950093f74 100644 --- a/internal/provider/gateway_solo_io_v1/gateway_solo_io_virtual_service_v1_manifest.go +++ b/internal/provider/gateway_solo_io_v1/gateway_solo_io_virtual_service_v1_manifest.go @@ -104,6 +104,9 @@ type GatewaySoloIoVirtualServiceV1ManifestData struct { ExposeHeaders *[]string `tfsdk:"expose_headers" json:"exposeHeaders,omitempty"` MaxAge *string `tfsdk:"max_age" json:"maxAge,omitempty"` } `tfsdk:"cors" json:"cors,omitempty"` + CorsPolicyMergeSettings *struct { + ExposeHeaders *string `tfsdk:"expose_headers" json:"exposeHeaders,omitempty"` + } `tfsdk:"cors_policy_merge_settings" json:"corsPolicyMergeSettings,omitempty"` Csrf *struct { AdditionalOrigins *[]struct { Exact *string `tfsdk:"exact" json:"exact,omitempty"` @@ -4439,6 +4442,23 @@ func (r *GatewaySoloIoVirtualServiceV1Manifest) Schema(_ context.Context, _ data Computed: false, }, + "cors_policy_merge_settings": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "expose_headers": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + "csrf": schema.SingleNestedAttribute{ Description: "", MarkdownDescription: "", diff --git a/internal/provider/ipam_cluster_x_k8s_io_v1alpha1/ipam_cluster_x_k8s_io_ip_address_v1alpha1_manifest.go b/internal/provider/ipam_cluster_x_k8s_io_v1alpha1/ipam_cluster_x_k8s_io_ip_address_v1alpha1_manifest.go index 1dcc94a6d..976d51c3b 100644 --- a/internal/provider/ipam_cluster_x_k8s_io_v1alpha1/ipam_cluster_x_k8s_io_ip_address_v1alpha1_manifest.go +++ b/internal/provider/ipam_cluster_x_k8s_io_v1alpha1/ipam_cluster_x_k8s_io_ip_address_v1alpha1_manifest.go @@ -147,8 +147,8 @@ func (r *IpamClusterXK8SIoIpaddressV1Alpha1Manifest) Schema(_ context.Context, _ MarkdownDescription: "ClaimRef is a reference to the claim this IPAddress was created for.", Attributes: map[string]schema.Attribute{ "name": schema.StringAttribute{ - Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", - MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/ipam_cluster_x_k8s_io_v1beta1/ipam_cluster_x_k8s_io_ip_address_v1beta1_manifest.go b/internal/provider/ipam_cluster_x_k8s_io_v1beta1/ipam_cluster_x_k8s_io_ip_address_v1beta1_manifest.go index 4cb57ebb7..5fdedfbcc 100644 --- a/internal/provider/ipam_cluster_x_k8s_io_v1beta1/ipam_cluster_x_k8s_io_ip_address_v1beta1_manifest.go +++ b/internal/provider/ipam_cluster_x_k8s_io_v1beta1/ipam_cluster_x_k8s_io_ip_address_v1beta1_manifest.go @@ -147,8 +147,8 @@ func (r *IpamClusterXK8SIoIpaddressV1Beta1Manifest) Schema(_ context.Context, _ MarkdownDescription: "ClaimRef is a reference to the claim this IPAddress was created for.", Attributes: map[string]schema.Attribute{ "name": schema.StringAttribute{ - Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", - MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/k8s_mariadb_com_v1alpha1/k8s_mariadb_com_backup_v1alpha1_manifest.go b/internal/provider/k8s_mariadb_com_v1alpha1/k8s_mariadb_com_backup_v1alpha1_manifest.go index c0762437b..1148eabe5 100644 --- a/internal/provider/k8s_mariadb_com_v1alpha1/k8s_mariadb_com_backup_v1alpha1_manifest.go +++ b/internal/provider/k8s_mariadb_com_v1alpha1/k8s_mariadb_com_backup_v1alpha1_manifest.go @@ -647,7 +647,8 @@ type K8SMariadbComBackupV1Alpha1ManifestData struct { } `tfsdk:"vsphere_volume" json:"vsphereVolume,omitempty"` } `tfsdk:"volume" json:"volume,omitempty"` } `tfsdk:"storage" json:"storage,omitempty"` - SuccessfulJobsHistoryLimit *int64 `tfsdk:"successful_jobs_history_limit" json:"successfulJobsHistoryLimit,omitempty"` + SuccessfulJobsHistoryLimit *int64 `tfsdk:"successful_jobs_history_limit" json:"successfulJobsHistoryLimit,omitempty"` + TimeZone *string `tfsdk:"time_zone" json:"timeZone,omitempty"` Tolerations *[]struct { Effect *string `tfsdk:"effect" json:"effect,omitempty"` Key *string `tfsdk:"key" json:"key,omitempty"` @@ -4799,6 +4800,14 @@ func (r *K8SMariadbComBackupV1Alpha1Manifest) Schema(_ context.Context, _ dataso }, }, + "time_zone": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + "tolerations": schema.ListNestedAttribute{ Description: "Tolerations to be used in the Pod.", MarkdownDescription: "Tolerations to be used in the Pod.", diff --git a/internal/provider/k8s_mariadb_com_v1alpha1/k8s_mariadb_com_maria_db_v1alpha1_manifest.go b/internal/provider/k8s_mariadb_com_v1alpha1/k8s_mariadb_com_maria_db_v1alpha1_manifest.go index 270be20db..bc09ef14e 100644 --- a/internal/provider/k8s_mariadb_com_v1alpha1/k8s_mariadb_com_maria_db_v1alpha1_manifest.go +++ b/internal/provider/k8s_mariadb_com_v1alpha1/k8s_mariadb_com_maria_db_v1alpha1_manifest.go @@ -3662,8 +3662,9 @@ type K8SMariadbComMariaDbV1Alpha1ManifestData struct { TerminationGracePeriodSeconds *int64 `tfsdk:"termination_grace_period_seconds" json:"terminationGracePeriodSeconds,omitempty"` TimeoutSeconds *int64 `tfsdk:"timeout_seconds" json:"timeoutSeconds,omitempty"` } `tfsdk:"readiness_probe" json:"readinessProbe,omitempty"` - Replicas *int64 `tfsdk:"replicas" json:"replicas,omitempty"` - Replication *struct { + Replicas *int64 `tfsdk:"replicas" json:"replicas,omitempty"` + ReplicasAllowEvenNumber *bool `tfsdk:"replicas_allow_even_number" json:"replicasAllowEvenNumber,omitempty"` + Replication *struct { Enabled *bool `tfsdk:"enabled" json:"enabled,omitempty"` Primary *struct { AutomaticFailover *bool `tfsdk:"automatic_failover" json:"automaticFailover,omitempty"` @@ -10225,8 +10226,8 @@ func (r *K8SMariadbComMariaDbV1Alpha1Manifest) Schema(_ context.Context, _ datas }, "init_container": schema.SingleNestedAttribute{ - Description: "InitContainer is an init container that co-operates with mariadb-operator.", - MarkdownDescription: "InitContainer is an init container that co-operates with mariadb-operator.", + Description: "InitContainer is an init container that runs in the MariaDB Pod and co-operates with mariadb-operator.", + MarkdownDescription: "InitContainer is an init container that runs in the MariaDB Pod and co-operates with mariadb-operator.", Attributes: map[string]schema.Attribute{ "args": schema.ListAttribute{ Description: "Args to be used in the Container.", @@ -11223,8 +11224,8 @@ func (r *K8SMariadbComMariaDbV1Alpha1Manifest) Schema(_ context.Context, _ datas }, "init_job": schema.SingleNestedAttribute{ - Description: "InitJob defines additional properties for the Job used to perform the initialization.", - MarkdownDescription: "InitJob defines additional properties for the Job used to perform the initialization.", + Description: "InitJob defines a Job that co-operates with mariadb-operator by performing initialization tasks.", + MarkdownDescription: "InitJob defines a Job that co-operates with mariadb-operator by performing initialization tasks.", Attributes: map[string]schema.Attribute{ "affinity": schema.SingleNestedAttribute{ Description: "Affinity to be used in the Pod.", @@ -12278,8 +12279,8 @@ func (r *K8SMariadbComMariaDbV1Alpha1Manifest) Schema(_ context.Context, _ datas }, "job": schema.SingleNestedAttribute{ - Description: "Job allows configuration of the Galera recovery Job, which is used to recover the Galera cluster.", - MarkdownDescription: "Job allows configuration of the Galera recovery Job, which is used to recover the Galera cluster.", + Description: "Job defines a Job that co-operates with mariadb-operator by performing the Galera cluster recovery .", + MarkdownDescription: "Job defines a Job that co-operates with mariadb-operator by performing the Galera cluster recovery .", Attributes: map[string]schema.Attribute{ "metadata": schema.SingleNestedAttribute{ Description: "Metadata defines additional metadata for the Galera recovery Jobs.", @@ -28737,6 +28738,14 @@ func (r *K8SMariadbComMariaDbV1Alpha1Manifest) Schema(_ context.Context, _ datas Computed: false, }, + "replicas_allow_even_number": schema.BoolAttribute{ + Description: "disables the validation check for an odd number of replicas.", + MarkdownDescription: "disables the validation check for an odd number of replicas.", + Required: false, + Optional: true, + Computed: false, + }, + "replication": schema.SingleNestedAttribute{ Description: "Replication configures high availability via replication. This feature is still in alpha, use Galera if you are looking for a more production-ready HA.", MarkdownDescription: "Replication configures high availability via replication. This feature is still in alpha, use Galera if you are looking for a more production-ready HA.", diff --git a/internal/provider/k8s_mariadb_com_v1alpha1/k8s_mariadb_com_sql_job_v1alpha1_manifest.go b/internal/provider/k8s_mariadb_com_v1alpha1/k8s_mariadb_com_sql_job_v1alpha1_manifest.go index 02293bc79..47398b851 100644 --- a/internal/provider/k8s_mariadb_com_v1alpha1/k8s_mariadb_com_sql_job_v1alpha1_manifest.go +++ b/internal/provider/k8s_mariadb_com_v1alpha1/k8s_mariadb_com_sql_job_v1alpha1_manifest.go @@ -295,7 +295,8 @@ type K8SMariadbComSqlJobV1Alpha1ManifestData struct { Name *string `tfsdk:"name" json:"name,omitempty"` Optional *bool `tfsdk:"optional" json:"optional,omitempty"` } `tfsdk:"sql_config_map_key_ref" json:"sqlConfigMapKeyRef,omitempty"` - SuccessfulJobsHistoryLimit *int64 `tfsdk:"successful_jobs_history_limit" json:"successfulJobsHistoryLimit,omitempty"` + SuccessfulJobsHistoryLimit *int64 `tfsdk:"successful_jobs_history_limit" json:"successfulJobsHistoryLimit,omitempty"` + TimeZone *string `tfsdk:"time_zone" json:"timeZone,omitempty"` Tolerations *[]struct { Effect *string `tfsdk:"effect" json:"effect,omitempty"` Key *string `tfsdk:"key" json:"key,omitempty"` @@ -2104,6 +2105,14 @@ func (r *K8SMariadbComSqlJobV1Alpha1Manifest) Schema(_ context.Context, _ dataso }, }, + "time_zone": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + "tolerations": schema.ListNestedAttribute{ Description: "Tolerations to be used in the Pod.", MarkdownDescription: "Tolerations to be used in the Pod.", diff --git a/internal/provider/kiali_io_v1alpha1/kiali_io_kiali_v1alpha1_manifest.go b/internal/provider/kiali_io_v1alpha1/kiali_io_kiali_v1alpha1_manifest.go index 945fe89a1..6d2f9d47c 100644 --- a/internal/provider/kiali_io_v1alpha1/kiali_io_kiali_v1alpha1_manifest.go +++ b/internal/provider/kiali_io_v1alpha1/kiali_io_kiali_v1alpha1_manifest.go @@ -3300,8 +3300,8 @@ func (r *KialiIoKialiV1Alpha1Manifest) Schema(_ context.Context, _ datasource.Sc }, "version": schema.StringAttribute{ - Description: "The version of the Ansible playbook to execute in order to install that version of Kiali.It is rare you will want to set this - if you are thinking of setting this, know what you are doing first.The only supported value today is 'default'.If not specified, a default version of Kiali will be installed which will be the most recent release of Kiali.Refer to this file to see where these values are defined in the master branch,https://github.com/kiali/kiali-operator/blob/master/playbooks/kiali-default-supported-images.ymlThis version setting affects the defaults of the deployment.image_name anddeployment.image_version settings. See the comments for those settingsbelow for additional details. But in short, this version setting willdictate which version of the Kiali image will be deployed by default.Note that if you explicitly set deployment.image_name and/ordeployment.image_version you are responsible for ensuring those settingsare compatible with this setting (i.e. the Kiali image must be compatiblewith the rest of the configuration and resources the operator will install).", - MarkdownDescription: "The version of the Ansible playbook to execute in order to install that version of Kiali.It is rare you will want to set this - if you are thinking of setting this, know what you are doing first.The only supported value today is 'default'.If not specified, a default version of Kiali will be installed which will be the most recent release of Kiali.Refer to this file to see where these values are defined in the master branch,https://github.com/kiali/kiali-operator/blob/master/playbooks/kiali-default-supported-images.ymlThis version setting affects the defaults of the deployment.image_name anddeployment.image_version settings. See the comments for those settingsbelow for additional details. But in short, this version setting willdictate which version of the Kiali image will be deployed by default.Note that if you explicitly set deployment.image_name and/ordeployment.image_version you are responsible for ensuring those settingsare compatible with this setting (i.e. the Kiali image must be compatiblewith the rest of the configuration and resources the operator will install).", + Description: "The version of the Ansible role that will be executed in order to install Kiali.This also indirectly determines the version of Kiali that will be installed.You normally will want to use 'default' since this is the only officially supported value today.If not specified, the value of 'default' is assumed which means the most recent Ansible role is used;thus the most recent release of Kiali will be installed.Refer to this file to see what the valid values are for this 'version' field (as defined in the master branch),https://github.com/kiali/kiali-operator/blob/master/playbooks/kiali-default-supported-images.ymlThis 'version' setting affects the defaults of the 'deployment.image_name' and'deployment.image_version' settings. See the documentation for those settings below foradditional details. In short, this 'version' setting will dictate which version of theKiali image will be deployed by default. However, if you explicitly set 'deployment.image_name'and/or 'deployment.image_version' to reference your own custom image, that will override thedefault Kiali image to be installed; therefore, you are responsible for ensuring those settingsare compatible with the Ansible role that will be executed in order to install Kiali (i.e. yourcustom Kiali image must be compatible with the rest of the configuration and resources theoperator will install).", + MarkdownDescription: "The version of the Ansible role that will be executed in order to install Kiali.This also indirectly determines the version of Kiali that will be installed.You normally will want to use 'default' since this is the only officially supported value today.If not specified, the value of 'default' is assumed which means the most recent Ansible role is used;thus the most recent release of Kiali will be installed.Refer to this file to see what the valid values are for this 'version' field (as defined in the master branch),https://github.com/kiali/kiali-operator/blob/master/playbooks/kiali-default-supported-images.ymlThis 'version' setting affects the defaults of the 'deployment.image_name' and'deployment.image_version' settings. See the documentation for those settings below foradditional details. In short, this 'version' setting will dictate which version of theKiali image will be deployed by default. However, if you explicitly set 'deployment.image_name'and/or 'deployment.image_version' to reference your own custom image, that will override thedefault Kiali image to be installed; therefore, you are responsible for ensuring those settingsare compatible with the Ansible role that will be executed in order to install Kiali (i.e. yourcustom Kiali image must be compatible with the rest of the configuration and resources theoperator will install).", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/kuadrant_io_v1beta1/kuadrant_io_kuadrant_v1beta1_manifest.go b/internal/provider/kuadrant_io_v1beta1/kuadrant_io_kuadrant_v1beta1_manifest.go index 0ffdb19df..4186753d9 100644 --- a/internal/provider/kuadrant_io_v1beta1/kuadrant_io_kuadrant_v1beta1_manifest.go +++ b/internal/provider/kuadrant_io_v1beta1/kuadrant_io_kuadrant_v1beta1_manifest.go @@ -7,7 +7,6 @@ package kuadrant_io_v1beta1 import ( "context" - "github.com/hashicorp/terraform-plugin-framework-validators/int64validator" "github.com/hashicorp/terraform-plugin-framework-validators/stringvalidator" "github.com/hashicorp/terraform-plugin-framework/datasource" "github.com/hashicorp/terraform-plugin-framework/datasource/schema" @@ -43,184 +42,7 @@ type KuadrantIoKuadrantV1Beta1ManifestData struct { Annotations map[string]string `tfsdk:"annotations" json:"annotations,omitempty"` } `tfsdk:"metadata" json:"metadata"` - Spec *struct { - Limitador *struct { - Affinity *struct { - NodeAffinity *struct { - PreferredDuringSchedulingIgnoredDuringExecution *[]struct { - Preference *struct { - MatchExpressions *[]struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Operator *string `tfsdk:"operator" json:"operator,omitempty"` - Values *[]string `tfsdk:"values" json:"values,omitempty"` - } `tfsdk:"match_expressions" json:"matchExpressions,omitempty"` - MatchFields *[]struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Operator *string `tfsdk:"operator" json:"operator,omitempty"` - Values *[]string `tfsdk:"values" json:"values,omitempty"` - } `tfsdk:"match_fields" json:"matchFields,omitempty"` - } `tfsdk:"preference" json:"preference,omitempty"` - Weight *int64 `tfsdk:"weight" json:"weight,omitempty"` - } `tfsdk:"preferred_during_scheduling_ignored_during_execution" json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"` - RequiredDuringSchedulingIgnoredDuringExecution *struct { - NodeSelectorTerms *[]struct { - MatchExpressions *[]struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Operator *string `tfsdk:"operator" json:"operator,omitempty"` - Values *[]string `tfsdk:"values" json:"values,omitempty"` - } `tfsdk:"match_expressions" json:"matchExpressions,omitempty"` - MatchFields *[]struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Operator *string `tfsdk:"operator" json:"operator,omitempty"` - Values *[]string `tfsdk:"values" json:"values,omitempty"` - } `tfsdk:"match_fields" json:"matchFields,omitempty"` - } `tfsdk:"node_selector_terms" json:"nodeSelectorTerms,omitempty"` - } `tfsdk:"required_during_scheduling_ignored_during_execution" json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"` - } `tfsdk:"node_affinity" json:"nodeAffinity,omitempty"` - PodAffinity *struct { - PreferredDuringSchedulingIgnoredDuringExecution *[]struct { - PodAffinityTerm *struct { - LabelSelector *struct { - MatchExpressions *[]struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Operator *string `tfsdk:"operator" json:"operator,omitempty"` - Values *[]string `tfsdk:"values" json:"values,omitempty"` - } `tfsdk:"match_expressions" json:"matchExpressions,omitempty"` - MatchLabels *map[string]string `tfsdk:"match_labels" json:"matchLabels,omitempty"` - } `tfsdk:"label_selector" json:"labelSelector,omitempty"` - MatchLabelKeys *[]string `tfsdk:"match_label_keys" json:"matchLabelKeys,omitempty"` - MismatchLabelKeys *[]string `tfsdk:"mismatch_label_keys" json:"mismatchLabelKeys,omitempty"` - NamespaceSelector *struct { - MatchExpressions *[]struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Operator *string `tfsdk:"operator" json:"operator,omitempty"` - Values *[]string `tfsdk:"values" json:"values,omitempty"` - } `tfsdk:"match_expressions" json:"matchExpressions,omitempty"` - MatchLabels *map[string]string `tfsdk:"match_labels" json:"matchLabels,omitempty"` - } `tfsdk:"namespace_selector" json:"namespaceSelector,omitempty"` - Namespaces *[]string `tfsdk:"namespaces" json:"namespaces,omitempty"` - TopologyKey *string `tfsdk:"topology_key" json:"topologyKey,omitempty"` - } `tfsdk:"pod_affinity_term" json:"podAffinityTerm,omitempty"` - Weight *int64 `tfsdk:"weight" json:"weight,omitempty"` - } `tfsdk:"preferred_during_scheduling_ignored_during_execution" json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"` - RequiredDuringSchedulingIgnoredDuringExecution *[]struct { - LabelSelector *struct { - MatchExpressions *[]struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Operator *string `tfsdk:"operator" json:"operator,omitempty"` - Values *[]string `tfsdk:"values" json:"values,omitempty"` - } `tfsdk:"match_expressions" json:"matchExpressions,omitempty"` - MatchLabels *map[string]string `tfsdk:"match_labels" json:"matchLabels,omitempty"` - } `tfsdk:"label_selector" json:"labelSelector,omitempty"` - MatchLabelKeys *[]string `tfsdk:"match_label_keys" json:"matchLabelKeys,omitempty"` - MismatchLabelKeys *[]string `tfsdk:"mismatch_label_keys" json:"mismatchLabelKeys,omitempty"` - NamespaceSelector *struct { - MatchExpressions *[]struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Operator *string `tfsdk:"operator" json:"operator,omitempty"` - Values *[]string `tfsdk:"values" json:"values,omitempty"` - } `tfsdk:"match_expressions" json:"matchExpressions,omitempty"` - MatchLabels *map[string]string `tfsdk:"match_labels" json:"matchLabels,omitempty"` - } `tfsdk:"namespace_selector" json:"namespaceSelector,omitempty"` - Namespaces *[]string `tfsdk:"namespaces" json:"namespaces,omitempty"` - TopologyKey *string `tfsdk:"topology_key" json:"topologyKey,omitempty"` - } `tfsdk:"required_during_scheduling_ignored_during_execution" json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"` - } `tfsdk:"pod_affinity" json:"podAffinity,omitempty"` - PodAntiAffinity *struct { - PreferredDuringSchedulingIgnoredDuringExecution *[]struct { - PodAffinityTerm *struct { - LabelSelector *struct { - MatchExpressions *[]struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Operator *string `tfsdk:"operator" json:"operator,omitempty"` - Values *[]string `tfsdk:"values" json:"values,omitempty"` - } `tfsdk:"match_expressions" json:"matchExpressions,omitempty"` - MatchLabels *map[string]string `tfsdk:"match_labels" json:"matchLabels,omitempty"` - } `tfsdk:"label_selector" json:"labelSelector,omitempty"` - MatchLabelKeys *[]string `tfsdk:"match_label_keys" json:"matchLabelKeys,omitempty"` - MismatchLabelKeys *[]string `tfsdk:"mismatch_label_keys" json:"mismatchLabelKeys,omitempty"` - NamespaceSelector *struct { - MatchExpressions *[]struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Operator *string `tfsdk:"operator" json:"operator,omitempty"` - Values *[]string `tfsdk:"values" json:"values,omitempty"` - } `tfsdk:"match_expressions" json:"matchExpressions,omitempty"` - MatchLabels *map[string]string `tfsdk:"match_labels" json:"matchLabels,omitempty"` - } `tfsdk:"namespace_selector" json:"namespaceSelector,omitempty"` - Namespaces *[]string `tfsdk:"namespaces" json:"namespaces,omitempty"` - TopologyKey *string `tfsdk:"topology_key" json:"topologyKey,omitempty"` - } `tfsdk:"pod_affinity_term" json:"podAffinityTerm,omitempty"` - Weight *int64 `tfsdk:"weight" json:"weight,omitempty"` - } `tfsdk:"preferred_during_scheduling_ignored_during_execution" json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"` - RequiredDuringSchedulingIgnoredDuringExecution *[]struct { - LabelSelector *struct { - MatchExpressions *[]struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Operator *string `tfsdk:"operator" json:"operator,omitempty"` - Values *[]string `tfsdk:"values" json:"values,omitempty"` - } `tfsdk:"match_expressions" json:"matchExpressions,omitempty"` - MatchLabels *map[string]string `tfsdk:"match_labels" json:"matchLabels,omitempty"` - } `tfsdk:"label_selector" json:"labelSelector,omitempty"` - MatchLabelKeys *[]string `tfsdk:"match_label_keys" json:"matchLabelKeys,omitempty"` - MismatchLabelKeys *[]string `tfsdk:"mismatch_label_keys" json:"mismatchLabelKeys,omitempty"` - NamespaceSelector *struct { - MatchExpressions *[]struct { - Key *string `tfsdk:"key" json:"key,omitempty"` - Operator *string `tfsdk:"operator" json:"operator,omitempty"` - Values *[]string `tfsdk:"values" json:"values,omitempty"` - } `tfsdk:"match_expressions" json:"matchExpressions,omitempty"` - MatchLabels *map[string]string `tfsdk:"match_labels" json:"matchLabels,omitempty"` - } `tfsdk:"namespace_selector" json:"namespaceSelector,omitempty"` - Namespaces *[]string `tfsdk:"namespaces" json:"namespaces,omitempty"` - TopologyKey *string `tfsdk:"topology_key" json:"topologyKey,omitempty"` - } `tfsdk:"required_during_scheduling_ignored_during_execution" json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"` - } `tfsdk:"pod_anti_affinity" json:"podAntiAffinity,omitempty"` - } `tfsdk:"affinity" json:"affinity,omitempty"` - Pdb *struct { - MaxUnavailable *string `tfsdk:"max_unavailable" json:"maxUnavailable,omitempty"` - MinAvailable *string `tfsdk:"min_available" json:"minAvailable,omitempty"` - } `tfsdk:"pdb" json:"pdb,omitempty"` - RateLimitHeaders *string `tfsdk:"rate_limit_headers" json:"rateLimitHeaders,omitempty"` - Replicas *int64 `tfsdk:"replicas" json:"replicas,omitempty"` - ResourceRequirements *struct { - Claims *[]struct { - Name *string `tfsdk:"name" json:"name,omitempty"` - } `tfsdk:"claims" json:"claims,omitempty"` - Limits *map[string]string `tfsdk:"limits" json:"limits,omitempty"` - Requests *map[string]string `tfsdk:"requests" json:"requests,omitempty"` - } `tfsdk:"resource_requirements" json:"resourceRequirements,omitempty"` - Storage *struct { - Disk *struct { - Optimize *string `tfsdk:"optimize" json:"optimize,omitempty"` - PersistentVolumeClaim *struct { - Resources *struct { - Requests *string `tfsdk:"requests" json:"requests,omitempty"` - } `tfsdk:"resources" json:"resources,omitempty"` - StorageClassName *string `tfsdk:"storage_class_name" json:"storageClassName,omitempty"` - VolumeName *string `tfsdk:"volume_name" json:"volumeName,omitempty"` - } `tfsdk:"persistent_volume_claim" json:"persistentVolumeClaim,omitempty"` - } `tfsdk:"disk" json:"disk,omitempty"` - Redis *struct { - ConfigSecretRef *struct { - Name *string `tfsdk:"name" json:"name,omitempty"` - } `tfsdk:"config_secret_ref" json:"configSecretRef,omitempty"` - } `tfsdk:"redis" json:"redis,omitempty"` - Redis_cached *struct { - ConfigSecretRef *struct { - Name *string `tfsdk:"name" json:"name,omitempty"` - } `tfsdk:"config_secret_ref" json:"configSecretRef,omitempty"` - Options *struct { - Batch_size *int64 `tfsdk:"batch_size" json:"batch-size,omitempty"` - Flush_period *int64 `tfsdk:"flush_period" json:"flush-period,omitempty"` - Max_cached *int64 `tfsdk:"max_cached" json:"max-cached,omitempty"` - Response_timeout *int64 `tfsdk:"response_timeout" json:"response-timeout,omitempty"` - } `tfsdk:"options" json:"options,omitempty"` - } `tfsdk:"redis_cached" json:"redis-cached,omitempty"` - } `tfsdk:"storage" json:"storage,omitempty"` - Telemetry *string `tfsdk:"telemetry" json:"telemetry,omitempty"` - Verbosity *int64 `tfsdk:"verbosity" json:"verbosity,omitempty"` - } `tfsdk:"limitador" json:"limitador,omitempty"` - } `tfsdk:"spec" json:"spec,omitempty"` + Spec *map[string]string `tfsdk:"spec" json:"spec,omitempty"` } func (r *KuadrantIoKuadrantV1Beta1Manifest) Metadata(_ context.Context, request datasource.MetadataRequest, response *datasource.MetadataResponse) { @@ -296,1177 +118,13 @@ func (r *KuadrantIoKuadrantV1Beta1Manifest) Schema(_ context.Context, _ datasour }, }, - "spec": schema.SingleNestedAttribute{ + "spec": schema.MapAttribute{ Description: "KuadrantSpec defines the desired state of Kuadrant", MarkdownDescription: "KuadrantSpec defines the desired state of Kuadrant", - Attributes: map[string]schema.Attribute{ - "limitador": schema.SingleNestedAttribute{ - Description: "", - MarkdownDescription: "", - Attributes: map[string]schema.Attribute{ - "affinity": schema.SingleNestedAttribute{ - Description: "Affinity is a group of affinity scheduling rules.", - MarkdownDescription: "Affinity is a group of affinity scheduling rules.", - Attributes: map[string]schema.Attribute{ - "node_affinity": schema.SingleNestedAttribute{ - Description: "Describes node affinity scheduling rules for the pod.", - MarkdownDescription: "Describes node affinity scheduling rules for the pod.", - Attributes: map[string]schema.Attribute{ - "preferred_during_scheduling_ignored_during_execution": schema.ListNestedAttribute{ - Description: "The scheduler will prefer to schedule pods to nodes that satisfythe affinity expressions specified by this field, but it may choosea node that violates one or more of the expressions. The node that ismost preferred is the one with the greatest sum of weights, i.e.for each node that meets all of the scheduling requirements (resourcerequest, requiredDuringScheduling affinity expressions, etc.),compute a sum by iterating through the elements of this field and adding'weight' to the sum if the node matches the corresponding matchExpressions; thenode(s) with the highest sum are the most preferred.", - MarkdownDescription: "The scheduler will prefer to schedule pods to nodes that satisfythe affinity expressions specified by this field, but it may choosea node that violates one or more of the expressions. The node that ismost preferred is the one with the greatest sum of weights, i.e.for each node that meets all of the scheduling requirements (resourcerequest, requiredDuringScheduling affinity expressions, etc.),compute a sum by iterating through the elements of this field and adding'weight' to the sum if the node matches the corresponding matchExpressions; thenode(s) with the highest sum are the most preferred.", - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "preference": schema.SingleNestedAttribute{ - Description: "A node selector term, associated with the corresponding weight.", - MarkdownDescription: "A node selector term, associated with the corresponding weight.", - Attributes: map[string]schema.Attribute{ - "match_expressions": schema.ListNestedAttribute{ - Description: "A list of node selector requirements by node's labels.", - MarkdownDescription: "A list of node selector requirements by node's labels.", - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "The label key that the selector applies to.", - MarkdownDescription: "The label key that the selector applies to.", - Required: true, - Optional: false, - Computed: false, - }, - - "operator": schema.StringAttribute{ - Description: "Represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.", - MarkdownDescription: "Represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.", - Required: true, - Optional: false, - Computed: false, - }, - - "values": schema.ListAttribute{ - Description: "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. If the operator is Gt or Lt, the valuesarray must have a single element, which will be interpreted as an integer.This array is replaced during a strategic merge patch.", - MarkdownDescription: "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. If the operator is Gt or Lt, the valuesarray must have a single element, which will be interpreted as an integer.This array is replaced during a strategic merge patch.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "match_fields": schema.ListNestedAttribute{ - Description: "A list of node selector requirements by node's fields.", - MarkdownDescription: "A list of node selector requirements by node's fields.", - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "The label key that the selector applies to.", - MarkdownDescription: "The label key that the selector applies to.", - Required: true, - Optional: false, - Computed: false, - }, - - "operator": schema.StringAttribute{ - Description: "Represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.", - MarkdownDescription: "Represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.", - Required: true, - Optional: false, - Computed: false, - }, - - "values": schema.ListAttribute{ - Description: "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. If the operator is Gt or Lt, the valuesarray must have a single element, which will be interpreted as an integer.This array is replaced during a strategic merge patch.", - MarkdownDescription: "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. If the operator is Gt or Lt, the valuesarray must have a single element, which will be interpreted as an integer.This array is replaced during a strategic merge patch.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: true, - Optional: false, - Computed: false, - }, - - "weight": schema.Int64Attribute{ - Description: "Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.", - MarkdownDescription: "Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.", - Required: true, - Optional: false, - Computed: false, - }, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "required_during_scheduling_ignored_during_execution": schema.SingleNestedAttribute{ - Description: "If the affinity requirements specified by this field are not met atscheduling time, the pod will not be scheduled onto the node.If the affinity requirements specified by this field cease to be metat some point during pod execution (e.g. due to an update), the systemmay or may not try to eventually evict the pod from its node.", - MarkdownDescription: "If the affinity requirements specified by this field are not met atscheduling time, the pod will not be scheduled onto the node.If the affinity requirements specified by this field cease to be metat some point during pod execution (e.g. due to an update), the systemmay or may not try to eventually evict the pod from its node.", - Attributes: map[string]schema.Attribute{ - "node_selector_terms": schema.ListNestedAttribute{ - Description: "Required. A list of node selector terms. The terms are ORed.", - MarkdownDescription: "Required. A list of node selector terms. The terms are ORed.", - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "match_expressions": schema.ListNestedAttribute{ - Description: "A list of node selector requirements by node's labels.", - MarkdownDescription: "A list of node selector requirements by node's labels.", - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "The label key that the selector applies to.", - MarkdownDescription: "The label key that the selector applies to.", - Required: true, - Optional: false, - Computed: false, - }, - - "operator": schema.StringAttribute{ - Description: "Represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.", - MarkdownDescription: "Represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.", - Required: true, - Optional: false, - Computed: false, - }, - - "values": schema.ListAttribute{ - Description: "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. If the operator is Gt or Lt, the valuesarray must have a single element, which will be interpreted as an integer.This array is replaced during a strategic merge patch.", - MarkdownDescription: "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. If the operator is Gt or Lt, the valuesarray must have a single element, which will be interpreted as an integer.This array is replaced during a strategic merge patch.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "match_fields": schema.ListNestedAttribute{ - Description: "A list of node selector requirements by node's fields.", - MarkdownDescription: "A list of node selector requirements by node's fields.", - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "The label key that the selector applies to.", - MarkdownDescription: "The label key that the selector applies to.", - Required: true, - Optional: false, - Computed: false, - }, - - "operator": schema.StringAttribute{ - Description: "Represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.", - MarkdownDescription: "Represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.", - Required: true, - Optional: false, - Computed: false, - }, - - "values": schema.ListAttribute{ - Description: "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. If the operator is Gt or Lt, the valuesarray must have a single element, which will be interpreted as an integer.This array is replaced during a strategic merge patch.", - MarkdownDescription: "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. If the operator is Gt or Lt, the valuesarray must have a single element, which will be interpreted as an integer.This array is replaced during a strategic merge patch.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - }, - }, - Required: true, - Optional: false, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "pod_affinity": schema.SingleNestedAttribute{ - Description: "Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).", - MarkdownDescription: "Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).", - Attributes: map[string]schema.Attribute{ - "preferred_during_scheduling_ignored_during_execution": schema.ListNestedAttribute{ - Description: "The scheduler will prefer to schedule pods to nodes that satisfythe affinity expressions specified by this field, but it may choosea node that violates one or more of the expressions. The node that ismost preferred is the one with the greatest sum of weights, i.e.for each node that meets all of the scheduling requirements (resourcerequest, requiredDuringScheduling affinity expressions, etc.),compute a sum by iterating through the elements of this field and adding'weight' to the sum if the node has pods which matches the corresponding podAffinityTerm; thenode(s) with the highest sum are the most preferred.", - MarkdownDescription: "The scheduler will prefer to schedule pods to nodes that satisfythe affinity expressions specified by this field, but it may choosea node that violates one or more of the expressions. The node that ismost preferred is the one with the greatest sum of weights, i.e.for each node that meets all of the scheduling requirements (resourcerequest, requiredDuringScheduling affinity expressions, etc.),compute a sum by iterating through the elements of this field and adding'weight' to the sum if the node has pods which matches the corresponding podAffinityTerm; thenode(s) with the highest sum are the most preferred.", - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "pod_affinity_term": schema.SingleNestedAttribute{ - Description: "Required. A pod affinity term, associated with the corresponding weight.", - MarkdownDescription: "Required. A pod affinity term, associated with the corresponding weight.", - Attributes: map[string]schema.Attribute{ - "label_selector": schema.SingleNestedAttribute{ - Description: "A label query over a set of resources, in this case pods.If it's null, this PodAffinityTerm matches with no Pods.", - MarkdownDescription: "A label query over a set of resources, in this case pods.If it's null, this PodAffinityTerm matches with no Pods.", - Attributes: map[string]schema.Attribute{ - "match_expressions": schema.ListNestedAttribute{ - Description: "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - MarkdownDescription: "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "key is the label key that the selector applies to.", - MarkdownDescription: "key is the label key that the selector applies to.", - Required: true, - Optional: false, - Computed: false, - }, - - "operator": schema.StringAttribute{ - Description: "operator represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists and DoesNotExist.", - MarkdownDescription: "operator represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists and DoesNotExist.", - Required: true, - Optional: false, - Computed: false, - }, - - "values": schema.ListAttribute{ - 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. This array is replaced during a strategicmerge patch.", - MarkdownDescription: "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. This array is replaced during a strategicmerge patch.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "match_labels": schema.MapAttribute{ - Description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabelsmap is equivalent to an element of matchExpressions, whose key field is 'key', theoperator is 'In', and the values array contains only 'value'. The requirements are ANDed.", - MarkdownDescription: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabelsmap is equivalent to an element of matchExpressions, whose key field is 'key', theoperator is 'In', and the values array contains only 'value'. The requirements are ANDed.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "match_label_keys": schema.ListAttribute{ - Description: "MatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both matchLabelKeys and labelSelector.Also, matchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - MarkdownDescription: "MatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both matchLabelKeys and labelSelector.Also, matchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - - "mismatch_label_keys": schema.ListAttribute{ - Description: "MismatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.Also, mismatchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - MarkdownDescription: "MismatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.Also, mismatchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - - "namespace_selector": schema.SingleNestedAttribute{ - Description: "A label query over the set of namespaces that the term applies to.The term is applied to the union of the namespaces selected by this fieldand the ones listed in the namespaces field.null selector and null or empty namespaces list means 'this pod's namespace'.An empty selector ({}) matches all namespaces.", - MarkdownDescription: "A label query over the set of namespaces that the term applies to.The term is applied to the union of the namespaces selected by this fieldand the ones listed in the namespaces field.null selector and null or empty namespaces list means 'this pod's namespace'.An empty selector ({}) matches all namespaces.", - Attributes: map[string]schema.Attribute{ - "match_expressions": schema.ListNestedAttribute{ - Description: "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - MarkdownDescription: "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "key is the label key that the selector applies to.", - MarkdownDescription: "key is the label key that the selector applies to.", - Required: true, - Optional: false, - Computed: false, - }, - - "operator": schema.StringAttribute{ - Description: "operator represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists and DoesNotExist.", - MarkdownDescription: "operator represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists and DoesNotExist.", - Required: true, - Optional: false, - Computed: false, - }, - - "values": schema.ListAttribute{ - 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. This array is replaced during a strategicmerge patch.", - MarkdownDescription: "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. This array is replaced during a strategicmerge patch.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "match_labels": schema.MapAttribute{ - Description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabelsmap is equivalent to an element of matchExpressions, whose key field is 'key', theoperator is 'In', and the values array contains only 'value'. The requirements are ANDed.", - MarkdownDescription: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabelsmap is equivalent to an element of matchExpressions, whose key field is 'key', theoperator is 'In', and the values array contains only 'value'. The requirements are ANDed.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "namespaces": schema.ListAttribute{ - Description: "namespaces specifies a static list of namespace names that the term applies to.The term is applied to the union of the namespaces listed in this fieldand the ones selected by namespaceSelector.null or empty namespaces list and null namespaceSelector means 'this pod's namespace'.", - MarkdownDescription: "namespaces specifies a static list of namespace names that the term applies to.The term is applied to the union of the namespaces listed in this fieldand the ones selected by namespaceSelector.null or empty namespaces list and null namespaceSelector means 'this pod's namespace'.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - - "topology_key": schema.StringAttribute{ - Description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matchingthe labelSelector in the specified namespaces, where co-located is defined as running on a nodewhose value of the label with key topologyKey matches that of any node on which any of theselected pods is running.Empty topologyKey is not allowed.", - MarkdownDescription: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matchingthe labelSelector in the specified namespaces, where co-located is defined as running on a nodewhose value of the label with key topologyKey matches that of any node on which any of theselected pods is running.Empty topologyKey is not allowed.", - Required: true, - Optional: false, - Computed: false, - }, - }, - Required: true, - Optional: false, - Computed: false, - }, - - "weight": schema.Int64Attribute{ - Description: "weight associated with matching the corresponding podAffinityTerm,in the range 1-100.", - MarkdownDescription: "weight associated with matching the corresponding podAffinityTerm,in the range 1-100.", - Required: true, - Optional: false, - Computed: false, - }, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "required_during_scheduling_ignored_during_execution": schema.ListNestedAttribute{ - Description: "If the affinity requirements specified by this field are not met atscheduling time, the pod will not be scheduled onto the node.If the affinity requirements specified by this field cease to be metat some point during pod execution (e.g. due to a pod label update), thesystem may or may not try to eventually evict the pod from its node.When there are multiple elements, the lists of nodes corresponding to eachpodAffinityTerm are intersected, i.e. all terms must be satisfied.", - MarkdownDescription: "If the affinity requirements specified by this field are not met atscheduling time, the pod will not be scheduled onto the node.If the affinity requirements specified by this field cease to be metat some point during pod execution (e.g. due to a pod label update), thesystem may or may not try to eventually evict the pod from its node.When there are multiple elements, the lists of nodes corresponding to eachpodAffinityTerm are intersected, i.e. all terms must be satisfied.", - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "label_selector": schema.SingleNestedAttribute{ - Description: "A label query over a set of resources, in this case pods.If it's null, this PodAffinityTerm matches with no Pods.", - MarkdownDescription: "A label query over a set of resources, in this case pods.If it's null, this PodAffinityTerm matches with no Pods.", - Attributes: map[string]schema.Attribute{ - "match_expressions": schema.ListNestedAttribute{ - Description: "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - MarkdownDescription: "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "key is the label key that the selector applies to.", - MarkdownDescription: "key is the label key that the selector applies to.", - Required: true, - Optional: false, - Computed: false, - }, - - "operator": schema.StringAttribute{ - Description: "operator represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists and DoesNotExist.", - MarkdownDescription: "operator represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists and DoesNotExist.", - Required: true, - Optional: false, - Computed: false, - }, - - "values": schema.ListAttribute{ - 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. This array is replaced during a strategicmerge patch.", - MarkdownDescription: "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. This array is replaced during a strategicmerge patch.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "match_labels": schema.MapAttribute{ - Description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabelsmap is equivalent to an element of matchExpressions, whose key field is 'key', theoperator is 'In', and the values array contains only 'value'. The requirements are ANDed.", - MarkdownDescription: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabelsmap is equivalent to an element of matchExpressions, whose key field is 'key', theoperator is 'In', and the values array contains only 'value'. The requirements are ANDed.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "match_label_keys": schema.ListAttribute{ - Description: "MatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both matchLabelKeys and labelSelector.Also, matchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - MarkdownDescription: "MatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both matchLabelKeys and labelSelector.Also, matchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - - "mismatch_label_keys": schema.ListAttribute{ - Description: "MismatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.Also, mismatchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - MarkdownDescription: "MismatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.Also, mismatchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - - "namespace_selector": schema.SingleNestedAttribute{ - Description: "A label query over the set of namespaces that the term applies to.The term is applied to the union of the namespaces selected by this fieldand the ones listed in the namespaces field.null selector and null or empty namespaces list means 'this pod's namespace'.An empty selector ({}) matches all namespaces.", - MarkdownDescription: "A label query over the set of namespaces that the term applies to.The term is applied to the union of the namespaces selected by this fieldand the ones listed in the namespaces field.null selector and null or empty namespaces list means 'this pod's namespace'.An empty selector ({}) matches all namespaces.", - Attributes: map[string]schema.Attribute{ - "match_expressions": schema.ListNestedAttribute{ - Description: "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - MarkdownDescription: "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "key is the label key that the selector applies to.", - MarkdownDescription: "key is the label key that the selector applies to.", - Required: true, - Optional: false, - Computed: false, - }, - - "operator": schema.StringAttribute{ - Description: "operator represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists and DoesNotExist.", - MarkdownDescription: "operator represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists and DoesNotExist.", - Required: true, - Optional: false, - Computed: false, - }, - - "values": schema.ListAttribute{ - 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. This array is replaced during a strategicmerge patch.", - MarkdownDescription: "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. This array is replaced during a strategicmerge patch.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "match_labels": schema.MapAttribute{ - Description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabelsmap is equivalent to an element of matchExpressions, whose key field is 'key', theoperator is 'In', and the values array contains only 'value'. The requirements are ANDed.", - MarkdownDescription: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabelsmap is equivalent to an element of matchExpressions, whose key field is 'key', theoperator is 'In', and the values array contains only 'value'. The requirements are ANDed.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "namespaces": schema.ListAttribute{ - Description: "namespaces specifies a static list of namespace names that the term applies to.The term is applied to the union of the namespaces listed in this fieldand the ones selected by namespaceSelector.null or empty namespaces list and null namespaceSelector means 'this pod's namespace'.", - MarkdownDescription: "namespaces specifies a static list of namespace names that the term applies to.The term is applied to the union of the namespaces listed in this fieldand the ones selected by namespaceSelector.null or empty namespaces list and null namespaceSelector means 'this pod's namespace'.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - - "topology_key": schema.StringAttribute{ - Description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matchingthe labelSelector in the specified namespaces, where co-located is defined as running on a nodewhose value of the label with key topologyKey matches that of any node on which any of theselected pods is running.Empty topologyKey is not allowed.", - MarkdownDescription: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matchingthe labelSelector in the specified namespaces, where co-located is defined as running on a nodewhose value of the label with key topologyKey matches that of any node on which any of theselected pods is running.Empty topologyKey is not allowed.", - Required: true, - Optional: false, - Computed: false, - }, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "pod_anti_affinity": schema.SingleNestedAttribute{ - Description: "Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).", - MarkdownDescription: "Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).", - Attributes: map[string]schema.Attribute{ - "preferred_during_scheduling_ignored_during_execution": schema.ListNestedAttribute{ - Description: "The scheduler will prefer to schedule pods to nodes that satisfythe anti-affinity expressions specified by this field, but it may choosea node that violates one or more of the expressions. The node that ismost preferred is the one with the greatest sum of weights, i.e.for each node that meets all of the scheduling requirements (resourcerequest, requiredDuringScheduling anti-affinity expressions, etc.),compute a sum by iterating through the elements of this field and adding'weight' to the sum if the node has pods which matches the corresponding podAffinityTerm; thenode(s) with the highest sum are the most preferred.", - MarkdownDescription: "The scheduler will prefer to schedule pods to nodes that satisfythe anti-affinity expressions specified by this field, but it may choosea node that violates one or more of the expressions. The node that ismost preferred is the one with the greatest sum of weights, i.e.for each node that meets all of the scheduling requirements (resourcerequest, requiredDuringScheduling anti-affinity expressions, etc.),compute a sum by iterating through the elements of this field and adding'weight' to the sum if the node has pods which matches the corresponding podAffinityTerm; thenode(s) with the highest sum are the most preferred.", - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "pod_affinity_term": schema.SingleNestedAttribute{ - Description: "Required. A pod affinity term, associated with the corresponding weight.", - MarkdownDescription: "Required. A pod affinity term, associated with the corresponding weight.", - Attributes: map[string]schema.Attribute{ - "label_selector": schema.SingleNestedAttribute{ - Description: "A label query over a set of resources, in this case pods.If it's null, this PodAffinityTerm matches with no Pods.", - MarkdownDescription: "A label query over a set of resources, in this case pods.If it's null, this PodAffinityTerm matches with no Pods.", - Attributes: map[string]schema.Attribute{ - "match_expressions": schema.ListNestedAttribute{ - Description: "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - MarkdownDescription: "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "key is the label key that the selector applies to.", - MarkdownDescription: "key is the label key that the selector applies to.", - Required: true, - Optional: false, - Computed: false, - }, - - "operator": schema.StringAttribute{ - Description: "operator represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists and DoesNotExist.", - MarkdownDescription: "operator represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists and DoesNotExist.", - Required: true, - Optional: false, - Computed: false, - }, - - "values": schema.ListAttribute{ - 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. This array is replaced during a strategicmerge patch.", - MarkdownDescription: "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. This array is replaced during a strategicmerge patch.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "match_labels": schema.MapAttribute{ - Description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabelsmap is equivalent to an element of matchExpressions, whose key field is 'key', theoperator is 'In', and the values array contains only 'value'. The requirements are ANDed.", - MarkdownDescription: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabelsmap is equivalent to an element of matchExpressions, whose key field is 'key', theoperator is 'In', and the values array contains only 'value'. The requirements are ANDed.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "match_label_keys": schema.ListAttribute{ - Description: "MatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both matchLabelKeys and labelSelector.Also, matchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - MarkdownDescription: "MatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both matchLabelKeys and labelSelector.Also, matchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - - "mismatch_label_keys": schema.ListAttribute{ - Description: "MismatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.Also, mismatchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - MarkdownDescription: "MismatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.Also, mismatchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - - "namespace_selector": schema.SingleNestedAttribute{ - Description: "A label query over the set of namespaces that the term applies to.The term is applied to the union of the namespaces selected by this fieldand the ones listed in the namespaces field.null selector and null or empty namespaces list means 'this pod's namespace'.An empty selector ({}) matches all namespaces.", - MarkdownDescription: "A label query over the set of namespaces that the term applies to.The term is applied to the union of the namespaces selected by this fieldand the ones listed in the namespaces field.null selector and null or empty namespaces list means 'this pod's namespace'.An empty selector ({}) matches all namespaces.", - Attributes: map[string]schema.Attribute{ - "match_expressions": schema.ListNestedAttribute{ - Description: "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - MarkdownDescription: "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "key is the label key that the selector applies to.", - MarkdownDescription: "key is the label key that the selector applies to.", - Required: true, - Optional: false, - Computed: false, - }, - - "operator": schema.StringAttribute{ - Description: "operator represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists and DoesNotExist.", - MarkdownDescription: "operator represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists and DoesNotExist.", - Required: true, - Optional: false, - Computed: false, - }, - - "values": schema.ListAttribute{ - 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. This array is replaced during a strategicmerge patch.", - MarkdownDescription: "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. This array is replaced during a strategicmerge patch.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "match_labels": schema.MapAttribute{ - Description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabelsmap is equivalent to an element of matchExpressions, whose key field is 'key', theoperator is 'In', and the values array contains only 'value'. The requirements are ANDed.", - MarkdownDescription: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabelsmap is equivalent to an element of matchExpressions, whose key field is 'key', theoperator is 'In', and the values array contains only 'value'. The requirements are ANDed.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "namespaces": schema.ListAttribute{ - Description: "namespaces specifies a static list of namespace names that the term applies to.The term is applied to the union of the namespaces listed in this fieldand the ones selected by namespaceSelector.null or empty namespaces list and null namespaceSelector means 'this pod's namespace'.", - MarkdownDescription: "namespaces specifies a static list of namespace names that the term applies to.The term is applied to the union of the namespaces listed in this fieldand the ones selected by namespaceSelector.null or empty namespaces list and null namespaceSelector means 'this pod's namespace'.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - - "topology_key": schema.StringAttribute{ - Description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matchingthe labelSelector in the specified namespaces, where co-located is defined as running on a nodewhose value of the label with key topologyKey matches that of any node on which any of theselected pods is running.Empty topologyKey is not allowed.", - MarkdownDescription: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matchingthe labelSelector in the specified namespaces, where co-located is defined as running on a nodewhose value of the label with key topologyKey matches that of any node on which any of theselected pods is running.Empty topologyKey is not allowed.", - Required: true, - Optional: false, - Computed: false, - }, - }, - Required: true, - Optional: false, - Computed: false, - }, - - "weight": schema.Int64Attribute{ - Description: "weight associated with matching the corresponding podAffinityTerm,in the range 1-100.", - MarkdownDescription: "weight associated with matching the corresponding podAffinityTerm,in the range 1-100.", - Required: true, - Optional: false, - Computed: false, - }, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "required_during_scheduling_ignored_during_execution": schema.ListNestedAttribute{ - Description: "If the anti-affinity requirements specified by this field are not met atscheduling time, the pod will not be scheduled onto the node.If the anti-affinity requirements specified by this field cease to be metat some point during pod execution (e.g. due to a pod label update), thesystem may or may not try to eventually evict the pod from its node.When there are multiple elements, the lists of nodes corresponding to eachpodAffinityTerm are intersected, i.e. all terms must be satisfied.", - MarkdownDescription: "If the anti-affinity requirements specified by this field are not met atscheduling time, the pod will not be scheduled onto the node.If the anti-affinity requirements specified by this field cease to be metat some point during pod execution (e.g. due to a pod label update), thesystem may or may not try to eventually evict the pod from its node.When there are multiple elements, the lists of nodes corresponding to eachpodAffinityTerm are intersected, i.e. all terms must be satisfied.", - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "label_selector": schema.SingleNestedAttribute{ - Description: "A label query over a set of resources, in this case pods.If it's null, this PodAffinityTerm matches with no Pods.", - MarkdownDescription: "A label query over a set of resources, in this case pods.If it's null, this PodAffinityTerm matches with no Pods.", - Attributes: map[string]schema.Attribute{ - "match_expressions": schema.ListNestedAttribute{ - Description: "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - MarkdownDescription: "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "key is the label key that the selector applies to.", - MarkdownDescription: "key is the label key that the selector applies to.", - Required: true, - Optional: false, - Computed: false, - }, - - "operator": schema.StringAttribute{ - Description: "operator represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists and DoesNotExist.", - MarkdownDescription: "operator represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists and DoesNotExist.", - Required: true, - Optional: false, - Computed: false, - }, - - "values": schema.ListAttribute{ - 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. This array is replaced during a strategicmerge patch.", - MarkdownDescription: "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. This array is replaced during a strategicmerge patch.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "match_labels": schema.MapAttribute{ - Description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabelsmap is equivalent to an element of matchExpressions, whose key field is 'key', theoperator is 'In', and the values array contains only 'value'. The requirements are ANDed.", - MarkdownDescription: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabelsmap is equivalent to an element of matchExpressions, whose key field is 'key', theoperator is 'In', and the values array contains only 'value'. The requirements are ANDed.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "match_label_keys": schema.ListAttribute{ - Description: "MatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both matchLabelKeys and labelSelector.Also, matchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - MarkdownDescription: "MatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both matchLabelKeys and labelSelector.Also, matchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - - "mismatch_label_keys": schema.ListAttribute{ - Description: "MismatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.Also, mismatchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - MarkdownDescription: "MismatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)'to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.Also, mismatchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - - "namespace_selector": schema.SingleNestedAttribute{ - Description: "A label query over the set of namespaces that the term applies to.The term is applied to the union of the namespaces selected by this fieldand the ones listed in the namespaces field.null selector and null or empty namespaces list means 'this pod's namespace'.An empty selector ({}) matches all namespaces.", - MarkdownDescription: "A label query over the set of namespaces that the term applies to.The term is applied to the union of the namespaces selected by this fieldand the ones listed in the namespaces field.null selector and null or empty namespaces list means 'this pod's namespace'.An empty selector ({}) matches all namespaces.", - Attributes: map[string]schema.Attribute{ - "match_expressions": schema.ListNestedAttribute{ - Description: "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - MarkdownDescription: "matchExpressions is a list of label selector requirements. The requirements are ANDed.", - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "key": schema.StringAttribute{ - Description: "key is the label key that the selector applies to.", - MarkdownDescription: "key is the label key that the selector applies to.", - Required: true, - Optional: false, - Computed: false, - }, - - "operator": schema.StringAttribute{ - Description: "operator represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists and DoesNotExist.", - MarkdownDescription: "operator represents a key's relationship to a set of values.Valid operators are In, NotIn, Exists and DoesNotExist.", - Required: true, - Optional: false, - Computed: false, - }, - - "values": schema.ListAttribute{ - 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. This array is replaced during a strategicmerge patch.", - MarkdownDescription: "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. This array is replaced during a strategicmerge patch.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "match_labels": schema.MapAttribute{ - Description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabelsmap is equivalent to an element of matchExpressions, whose key field is 'key', theoperator is 'In', and the values array contains only 'value'. The requirements are ANDed.", - MarkdownDescription: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabelsmap is equivalent to an element of matchExpressions, whose key field is 'key', theoperator is 'In', and the values array contains only 'value'. The requirements are ANDed.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "namespaces": schema.ListAttribute{ - Description: "namespaces specifies a static list of namespace names that the term applies to.The term is applied to the union of the namespaces listed in this fieldand the ones selected by namespaceSelector.null or empty namespaces list and null namespaceSelector means 'this pod's namespace'.", - MarkdownDescription: "namespaces specifies a static list of namespace names that the term applies to.The term is applied to the union of the namespaces listed in this fieldand the ones selected by namespaceSelector.null or empty namespaces list and null namespaceSelector means 'this pod's namespace'.", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - - "topology_key": schema.StringAttribute{ - Description: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matchingthe labelSelector in the specified namespaces, where co-located is defined as running on a nodewhose value of the label with key topologyKey matches that of any node on which any of theselected pods is running.Empty topologyKey is not allowed.", - MarkdownDescription: "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matchingthe labelSelector in the specified namespaces, where co-located is defined as running on a nodewhose value of the label with key topologyKey matches that of any node on which any of theselected pods is running.Empty topologyKey is not allowed.", - Required: true, - Optional: false, - Computed: false, - }, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "pdb": schema.SingleNestedAttribute{ - Description: "", - MarkdownDescription: "", - Attributes: map[string]schema.Attribute{ - "max_unavailable": schema.StringAttribute{ - Description: "An eviction is allowed if at most 'maxUnavailable' limitador podsare unavailable after the eviction, i.e. even in absence ofthe evicted pod. For example, one can prevent all voluntary evictionsby specifying 0. This is a mutually exclusive setting with 'minAvailable'.", - MarkdownDescription: "An eviction is allowed if at most 'maxUnavailable' limitador podsare unavailable after the eviction, i.e. even in absence ofthe evicted pod. For example, one can prevent all voluntary evictionsby specifying 0. This is a mutually exclusive setting with 'minAvailable'.", - Required: false, - Optional: true, - Computed: false, - }, - - "min_available": schema.StringAttribute{ - Description: "An eviction is allowed if at least 'minAvailable' limitador pods willstill be available after the eviction, i.e. even in the absence ofthe evicted pod. So for example you can prevent all voluntaryevictions by specifying '100%'.", - MarkdownDescription: "An eviction is allowed if at least 'minAvailable' limitador pods willstill be available after the eviction, i.e. even in the absence ofthe evicted pod. So for example you can prevent all voluntaryevictions by specifying '100%'.", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "rate_limit_headers": schema.StringAttribute{ - Description: "RateLimitHeadersType defines the valid options for the --rate-limit-headers arg", - MarkdownDescription: "RateLimitHeadersType defines the valid options for the --rate-limit-headers arg", - Required: false, - Optional: true, - Computed: false, - Validators: []validator.String{ - stringvalidator.OneOf("NONE", "DRAFT_VERSION_03"), - }, - }, - - "replicas": schema.Int64Attribute{ - Description: "", - MarkdownDescription: "", - Required: false, - Optional: true, - Computed: false, - }, - - "resource_requirements": schema.SingleNestedAttribute{ - Description: "ResourceRequirements describes the compute resource requirements.", - MarkdownDescription: "ResourceRequirements describes the compute resource requirements.", - Attributes: map[string]schema.Attribute{ - "claims": schema.ListNestedAttribute{ - Description: "Claims lists the names of resources, defined in spec.resourceClaims,that are used by this container.This is an alpha field and requires enabling theDynamicResourceAllocation feature gate.This field is immutable. It can only be set for containers.", - MarkdownDescription: "Claims lists the names of resources, defined in spec.resourceClaims,that are used by this container.This is an alpha field and requires enabling theDynamicResourceAllocation feature gate.This field is immutable. It can only be set for containers.", - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "name": schema.StringAttribute{ - Description: "Name must match the name of one entry in pod.spec.resourceClaims ofthe Pod where this field is used. It makes that resource availableinside a container.", - MarkdownDescription: "Name must match the name of one entry in pod.spec.resourceClaims ofthe Pod where this field is used. It makes that resource availableinside a container.", - Required: true, - Optional: false, - Computed: false, - }, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "limits": schema.MapAttribute{ - Description: "Limits describes the maximum amount of compute resources allowed.More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/", - MarkdownDescription: "Limits describes the maximum amount of compute resources allowed.More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - - "requests": schema.MapAttribute{ - Description: "Requests describes the minimum amount of compute resources required.If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,otherwise to an implementation-defined value. Requests cannot exceed Limits.More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/", - MarkdownDescription: "Requests describes the minimum amount of compute resources required.If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,otherwise to an implementation-defined value. Requests cannot exceed Limits.More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/", - ElementType: types.StringType, - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "storage": schema.SingleNestedAttribute{ - Description: "Storage contains the options for Limitador counters database or in-memory data storage", - MarkdownDescription: "Storage contains the options for Limitador counters database or in-memory data storage", - Attributes: map[string]schema.Attribute{ - "disk": schema.SingleNestedAttribute{ - Description: "", - MarkdownDescription: "", - Attributes: map[string]schema.Attribute{ - "optimize": schema.StringAttribute{ - Description: "DiskOptimizeType defines the valid options for 'optimize' option of the disk persistence type", - MarkdownDescription: "DiskOptimizeType defines the valid options for 'optimize' option of the disk persistence type", - Required: false, - Optional: true, - Computed: false, - Validators: []validator.String{ - stringvalidator.OneOf("throughput", "disk"), - }, - }, - - "persistent_volume_claim": schema.SingleNestedAttribute{ - Description: "", - MarkdownDescription: "", - Attributes: map[string]schema.Attribute{ - "resources": schema.SingleNestedAttribute{ - Description: "Resources represents the minimum resources the volume should have.Ignored when VolumeName field is set", - MarkdownDescription: "Resources represents the minimum resources the volume should have.Ignored when VolumeName field is set", - Attributes: map[string]schema.Attribute{ - "requests": schema.StringAttribute{ - Description: "Storage Resource requests to be used on the PersistentVolumeClaim.To learn more about resource requests see:https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/", - MarkdownDescription: "Storage Resource requests to be used on the PersistentVolumeClaim.To learn more about resource requests see:https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/", - Required: true, - Optional: false, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "storage_class_name": schema.StringAttribute{ - Description: "", - MarkdownDescription: "", - Required: false, - Optional: true, - Computed: false, - }, - - "volume_name": schema.StringAttribute{ - Description: "VolumeName is the binding reference to the PersistentVolume backing this claim.", - MarkdownDescription: "VolumeName is the binding reference to the PersistentVolume backing this claim.", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "redis": schema.SingleNestedAttribute{ - Description: "", - MarkdownDescription: "", - Attributes: map[string]schema.Attribute{ - "config_secret_ref": schema.SingleNestedAttribute{ - Description: "LocalObjectReference contains enough information to let you locate thereferenced object inside the same namespace.", - MarkdownDescription: "LocalObjectReference contains enough information to let you locate thereferenced object inside the same namespace.", - Attributes: map[string]schema.Attribute{ - "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "redis_cached": schema.SingleNestedAttribute{ - Description: "", - MarkdownDescription: "", - Attributes: map[string]schema.Attribute{ - "config_secret_ref": schema.SingleNestedAttribute{ - Description: "LocalObjectReference contains enough information to let you locate thereferenced object inside the same namespace.", - MarkdownDescription: "LocalObjectReference contains enough information to let you locate thereferenced object inside the same namespace.", - Attributes: map[string]schema.Attribute{ - "name": schema.StringAttribute{ - Description: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - MarkdownDescription: "Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "options": schema.SingleNestedAttribute{ - Description: "", - MarkdownDescription: "", - Attributes: map[string]schema.Attribute{ - "batch_size": schema.Int64Attribute{ - Description: "BatchSize defines the size of entries to flush in as single flush [default: 100]", - MarkdownDescription: "BatchSize defines the size of entries to flush in as single flush [default: 100]", - Required: false, - Optional: true, - Computed: false, - }, - - "flush_period": schema.Int64Attribute{ - Description: "FlushPeriod for counters in milliseconds [default: 1000]", - MarkdownDescription: "FlushPeriod for counters in milliseconds [default: 1000]", - Required: false, - Optional: true, - Computed: false, - }, - - "max_cached": schema.Int64Attribute{ - Description: "MaxCached refers to the maximum amount of counters cached [default: 10000]", - MarkdownDescription: "MaxCached refers to the maximum amount of counters cached [default: 10000]", - Required: false, - Optional: true, - Computed: false, - }, - - "response_timeout": schema.Int64Attribute{ - Description: "ResponseTimeout defines the timeout for Redis commands in milliseconds [default: 350]", - MarkdownDescription: "ResponseTimeout defines the timeout for Redis commands in milliseconds [default: 350]", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - - "telemetry": schema.StringAttribute{ - Description: "Telemetry defines the level of metrics Limitador will expose to the user", - MarkdownDescription: "Telemetry defines the level of metrics Limitador will expose to the user", - Required: false, - Optional: true, - Computed: false, - Validators: []validator.String{ - stringvalidator.OneOf("basic", "exhaustive"), - }, - }, - - "verbosity": schema.Int64Attribute{ - Description: "Sets the level of verbosity", - MarkdownDescription: "Sets the level of verbosity", - Required: false, - Optional: true, - Computed: false, - Validators: []validator.Int64{ - int64validator.AtLeast(1), - int64validator.AtMost(4), - }, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, }, }, } diff --git a/internal/provider/kyverno_io_v1/kyverno_io_cluster_policy_v1_manifest.go b/internal/provider/kyverno_io_v1/kyverno_io_cluster_policy_v1_manifest.go index 9e73cb3bd..d4d8a00d6 100644 --- a/internal/provider/kyverno_io_v1/kyverno_io_cluster_policy_v1_manifest.go +++ b/internal/provider/kyverno_io_v1/kyverno_io_cluster_policy_v1_manifest.go @@ -567,14 +567,16 @@ type KyvernoIoClusterPolicyV1ManifestData struct { Pubkey *string `tfsdk:"pubkey" json:"pubkey,omitempty"` TsaCertChain *string `tfsdk:"tsa_cert_chain" json:"tsaCertChain,omitempty"` } `tfsdk:"ctlog" json:"ctlog,omitempty"` - Issuer *string `tfsdk:"issuer" json:"issuer,omitempty"` - Rekor *struct { + Issuer *string `tfsdk:"issuer" json:"issuer,omitempty"` + IssuerRegExp *string `tfsdk:"issuer_reg_exp" json:"issuerRegExp,omitempty"` + Rekor *struct { IgnoreTlog *bool `tfsdk:"ignore_tlog" json:"ignoreTlog,omitempty"` Pubkey *string `tfsdk:"pubkey" json:"pubkey,omitempty"` Url *string `tfsdk:"url" json:"url,omitempty"` } `tfsdk:"rekor" json:"rekor,omitempty"` - Roots *string `tfsdk:"roots" json:"roots,omitempty"` - Subject *string `tfsdk:"subject" json:"subject,omitempty"` + Roots *string `tfsdk:"roots" json:"roots,omitempty"` + Subject *string `tfsdk:"subject" json:"subject,omitempty"` + SubjectRegExp *string `tfsdk:"subject_reg_exp" json:"subjectRegExp,omitempty"` } `tfsdk:"keyless" json:"keyless,omitempty"` Keys *struct { Ctlog *struct { @@ -670,14 +672,16 @@ type KyvernoIoClusterPolicyV1ManifestData struct { Pubkey *string `tfsdk:"pubkey" json:"pubkey,omitempty"` TsaCertChain *string `tfsdk:"tsa_cert_chain" json:"tsaCertChain,omitempty"` } `tfsdk:"ctlog" json:"ctlog,omitempty"` - Issuer *string `tfsdk:"issuer" json:"issuer,omitempty"` - Rekor *struct { + Issuer *string `tfsdk:"issuer" json:"issuer,omitempty"` + IssuerRegExp *string `tfsdk:"issuer_reg_exp" json:"issuerRegExp,omitempty"` + Rekor *struct { IgnoreTlog *bool `tfsdk:"ignore_tlog" json:"ignoreTlog,omitempty"` Pubkey *string `tfsdk:"pubkey" json:"pubkey,omitempty"` Url *string `tfsdk:"url" json:"url,omitempty"` } `tfsdk:"rekor" json:"rekor,omitempty"` - Roots *string `tfsdk:"roots" json:"roots,omitempty"` - Subject *string `tfsdk:"subject" json:"subject,omitempty"` + Roots *string `tfsdk:"roots" json:"roots,omitempty"` + Subject *string `tfsdk:"subject" json:"subject,omitempty"` + SubjectRegExp *string `tfsdk:"subject_reg_exp" json:"subjectRegExp,omitempty"` } `tfsdk:"keyless" json:"keyless,omitempty"` Keys *struct { Ctlog *struct { @@ -744,14 +748,16 @@ type KyvernoIoClusterPolicyV1ManifestData struct { Pubkey *string `tfsdk:"pubkey" json:"pubkey,omitempty"` TsaCertChain *string `tfsdk:"tsa_cert_chain" json:"tsaCertChain,omitempty"` } `tfsdk:"ctlog" json:"ctlog,omitempty"` - Issuer *string `tfsdk:"issuer" json:"issuer,omitempty"` - Rekor *struct { + Issuer *string `tfsdk:"issuer" json:"issuer,omitempty"` + IssuerRegExp *string `tfsdk:"issuer_reg_exp" json:"issuerRegExp,omitempty"` + Rekor *struct { IgnoreTlog *bool `tfsdk:"ignore_tlog" json:"ignoreTlog,omitempty"` Pubkey *string `tfsdk:"pubkey" json:"pubkey,omitempty"` Url *string `tfsdk:"url" json:"url,omitempty"` } `tfsdk:"rekor" json:"rekor,omitempty"` - Roots *string `tfsdk:"roots" json:"roots,omitempty"` - Subject *string `tfsdk:"subject" json:"subject,omitempty"` + Roots *string `tfsdk:"roots" json:"roots,omitempty"` + Subject *string `tfsdk:"subject" json:"subject,omitempty"` + SubjectRegExp *string `tfsdk:"subject_reg_exp" json:"subjectRegExp,omitempty"` } `tfsdk:"keyless" json:"keyless,omitempty"` Keys *struct { Ctlog *struct { @@ -4553,6 +4559,14 @@ func (r *KyvernoIoClusterPolicyV1Manifest) Schema(_ context.Context, _ datasourc Computed: false, }, + "issuer_reg_exp": schema.StringAttribute{ + Description: "IssuerRegExp is the regular expression to match certificate issuer used for keyless signing.", + MarkdownDescription: "IssuerRegExp is the regular expression to match certificate issuer used for keyless signing.", + Required: false, + Optional: true, + Computed: false, + }, + "rekor": schema.SingleNestedAttribute{ Description: "Rekor provides configuration for the Rekor transparency log service. If an empty objectis provided the public instance of Rekor (https://rekor.sigstore.dev) is used.", MarkdownDescription: "Rekor provides configuration for the Rekor transparency log service. If an empty objectis provided the public instance of Rekor (https://rekor.sigstore.dev) is used.", @@ -4601,6 +4615,14 @@ func (r *KyvernoIoClusterPolicyV1Manifest) Schema(_ context.Context, _ datasourc Optional: true, Computed: false, }, + + "subject_reg_exp": schema.StringAttribute{ + Description: "SubjectRegExp is the regular expression to match identity used for keyless signing, for example the email address.", + MarkdownDescription: "SubjectRegExp is the regular expression to match identity used for keyless signing, for example the email address.", + Required: false, + Optional: true, + Computed: false, + }, }, Required: false, Optional: true, @@ -5269,6 +5291,14 @@ func (r *KyvernoIoClusterPolicyV1Manifest) Schema(_ context.Context, _ datasourc Computed: false, }, + "issuer_reg_exp": schema.StringAttribute{ + Description: "IssuerRegExp is the regular expression to match certificate issuer used for keyless signing.", + MarkdownDescription: "IssuerRegExp is the regular expression to match certificate issuer used for keyless signing.", + Required: false, + Optional: true, + Computed: false, + }, + "rekor": schema.SingleNestedAttribute{ Description: "Rekor provides configuration for the Rekor transparency log service. If an empty objectis provided the public instance of Rekor (https://rekor.sigstore.dev) is used.", MarkdownDescription: "Rekor provides configuration for the Rekor transparency log service. If an empty objectis provided the public instance of Rekor (https://rekor.sigstore.dev) is used.", @@ -5317,6 +5347,14 @@ func (r *KyvernoIoClusterPolicyV1Manifest) Schema(_ context.Context, _ datasourc Optional: true, Computed: false, }, + + "subject_reg_exp": schema.StringAttribute{ + Description: "SubjectRegExp is the regular expression to match identity used for keyless signing, for example the email address.", + MarkdownDescription: "SubjectRegExp is the regular expression to match identity used for keyless signing, for example the email address.", + Required: false, + Optional: true, + Computed: false, + }, }, Required: false, Optional: true, @@ -5780,6 +5818,14 @@ func (r *KyvernoIoClusterPolicyV1Manifest) Schema(_ context.Context, _ datasourc Computed: false, }, + "issuer_reg_exp": schema.StringAttribute{ + Description: "IssuerRegExp is the regular expression to match certificate issuer used for keyless signing.", + MarkdownDescription: "IssuerRegExp is the regular expression to match certificate issuer used for keyless signing.", + Required: false, + Optional: true, + Computed: false, + }, + "rekor": schema.SingleNestedAttribute{ Description: "Rekor provides configuration for the Rekor transparency log service. If an empty objectis provided the public instance of Rekor (https://rekor.sigstore.dev) is used.", MarkdownDescription: "Rekor provides configuration for the Rekor transparency log service. If an empty objectis provided the public instance of Rekor (https://rekor.sigstore.dev) is used.", @@ -5828,6 +5874,14 @@ func (r *KyvernoIoClusterPolicyV1Manifest) Schema(_ context.Context, _ datasourc Optional: true, Computed: false, }, + + "subject_reg_exp": schema.StringAttribute{ + Description: "SubjectRegExp is the regular expression to match identity used for keyless signing, for example the email address.", + MarkdownDescription: "SubjectRegExp is the regular expression to match identity used for keyless signing, for example the email address.", + Required: false, + Optional: true, + Computed: false, + }, }, Required: false, Optional: true, diff --git a/internal/provider/kyverno_io_v1/kyverno_io_policy_v1_manifest.go b/internal/provider/kyverno_io_v1/kyverno_io_policy_v1_manifest.go index a1266eda1..c457a3840 100644 --- a/internal/provider/kyverno_io_v1/kyverno_io_policy_v1_manifest.go +++ b/internal/provider/kyverno_io_v1/kyverno_io_policy_v1_manifest.go @@ -568,14 +568,16 @@ type KyvernoIoPolicyV1ManifestData struct { Pubkey *string `tfsdk:"pubkey" json:"pubkey,omitempty"` TsaCertChain *string `tfsdk:"tsa_cert_chain" json:"tsaCertChain,omitempty"` } `tfsdk:"ctlog" json:"ctlog,omitempty"` - Issuer *string `tfsdk:"issuer" json:"issuer,omitempty"` - Rekor *struct { + Issuer *string `tfsdk:"issuer" json:"issuer,omitempty"` + IssuerRegExp *string `tfsdk:"issuer_reg_exp" json:"issuerRegExp,omitempty"` + Rekor *struct { IgnoreTlog *bool `tfsdk:"ignore_tlog" json:"ignoreTlog,omitempty"` Pubkey *string `tfsdk:"pubkey" json:"pubkey,omitempty"` Url *string `tfsdk:"url" json:"url,omitempty"` } `tfsdk:"rekor" json:"rekor,omitempty"` - Roots *string `tfsdk:"roots" json:"roots,omitempty"` - Subject *string `tfsdk:"subject" json:"subject,omitempty"` + Roots *string `tfsdk:"roots" json:"roots,omitempty"` + Subject *string `tfsdk:"subject" json:"subject,omitempty"` + SubjectRegExp *string `tfsdk:"subject_reg_exp" json:"subjectRegExp,omitempty"` } `tfsdk:"keyless" json:"keyless,omitempty"` Keys *struct { Ctlog *struct { @@ -671,14 +673,16 @@ type KyvernoIoPolicyV1ManifestData struct { Pubkey *string `tfsdk:"pubkey" json:"pubkey,omitempty"` TsaCertChain *string `tfsdk:"tsa_cert_chain" json:"tsaCertChain,omitempty"` } `tfsdk:"ctlog" json:"ctlog,omitempty"` - Issuer *string `tfsdk:"issuer" json:"issuer,omitempty"` - Rekor *struct { + Issuer *string `tfsdk:"issuer" json:"issuer,omitempty"` + IssuerRegExp *string `tfsdk:"issuer_reg_exp" json:"issuerRegExp,omitempty"` + Rekor *struct { IgnoreTlog *bool `tfsdk:"ignore_tlog" json:"ignoreTlog,omitempty"` Pubkey *string `tfsdk:"pubkey" json:"pubkey,omitempty"` Url *string `tfsdk:"url" json:"url,omitempty"` } `tfsdk:"rekor" json:"rekor,omitempty"` - Roots *string `tfsdk:"roots" json:"roots,omitempty"` - Subject *string `tfsdk:"subject" json:"subject,omitempty"` + Roots *string `tfsdk:"roots" json:"roots,omitempty"` + Subject *string `tfsdk:"subject" json:"subject,omitempty"` + SubjectRegExp *string `tfsdk:"subject_reg_exp" json:"subjectRegExp,omitempty"` } `tfsdk:"keyless" json:"keyless,omitempty"` Keys *struct { Ctlog *struct { @@ -745,14 +749,16 @@ type KyvernoIoPolicyV1ManifestData struct { Pubkey *string `tfsdk:"pubkey" json:"pubkey,omitempty"` TsaCertChain *string `tfsdk:"tsa_cert_chain" json:"tsaCertChain,omitempty"` } `tfsdk:"ctlog" json:"ctlog,omitempty"` - Issuer *string `tfsdk:"issuer" json:"issuer,omitempty"` - Rekor *struct { + Issuer *string `tfsdk:"issuer" json:"issuer,omitempty"` + IssuerRegExp *string `tfsdk:"issuer_reg_exp" json:"issuerRegExp,omitempty"` + Rekor *struct { IgnoreTlog *bool `tfsdk:"ignore_tlog" json:"ignoreTlog,omitempty"` Pubkey *string `tfsdk:"pubkey" json:"pubkey,omitempty"` Url *string `tfsdk:"url" json:"url,omitempty"` } `tfsdk:"rekor" json:"rekor,omitempty"` - Roots *string `tfsdk:"roots" json:"roots,omitempty"` - Subject *string `tfsdk:"subject" json:"subject,omitempty"` + Roots *string `tfsdk:"roots" json:"roots,omitempty"` + Subject *string `tfsdk:"subject" json:"subject,omitempty"` + SubjectRegExp *string `tfsdk:"subject_reg_exp" json:"subjectRegExp,omitempty"` } `tfsdk:"keyless" json:"keyless,omitempty"` Keys *struct { Ctlog *struct { @@ -4566,6 +4572,14 @@ func (r *KyvernoIoPolicyV1Manifest) Schema(_ context.Context, _ datasource.Schem Computed: false, }, + "issuer_reg_exp": schema.StringAttribute{ + Description: "IssuerRegExp is the regular expression to match certificate issuer used for keyless signing.", + MarkdownDescription: "IssuerRegExp is the regular expression to match certificate issuer used for keyless signing.", + Required: false, + Optional: true, + Computed: false, + }, + "rekor": schema.SingleNestedAttribute{ Description: "Rekor provides configuration for the Rekor transparency log service. If an empty objectis provided the public instance of Rekor (https://rekor.sigstore.dev) is used.", MarkdownDescription: "Rekor provides configuration for the Rekor transparency log service. If an empty objectis provided the public instance of Rekor (https://rekor.sigstore.dev) is used.", @@ -4614,6 +4628,14 @@ func (r *KyvernoIoPolicyV1Manifest) Schema(_ context.Context, _ datasource.Schem Optional: true, Computed: false, }, + + "subject_reg_exp": schema.StringAttribute{ + Description: "SubjectRegExp is the regular expression to match identity used for keyless signing, for example the email address.", + MarkdownDescription: "SubjectRegExp is the regular expression to match identity used for keyless signing, for example the email address.", + Required: false, + Optional: true, + Computed: false, + }, }, Required: false, Optional: true, @@ -5282,6 +5304,14 @@ func (r *KyvernoIoPolicyV1Manifest) Schema(_ context.Context, _ datasource.Schem Computed: false, }, + "issuer_reg_exp": schema.StringAttribute{ + Description: "IssuerRegExp is the regular expression to match certificate issuer used for keyless signing.", + MarkdownDescription: "IssuerRegExp is the regular expression to match certificate issuer used for keyless signing.", + Required: false, + Optional: true, + Computed: false, + }, + "rekor": schema.SingleNestedAttribute{ Description: "Rekor provides configuration for the Rekor transparency log service. If an empty objectis provided the public instance of Rekor (https://rekor.sigstore.dev) is used.", MarkdownDescription: "Rekor provides configuration for the Rekor transparency log service. If an empty objectis provided the public instance of Rekor (https://rekor.sigstore.dev) is used.", @@ -5330,6 +5360,14 @@ func (r *KyvernoIoPolicyV1Manifest) Schema(_ context.Context, _ datasource.Schem Optional: true, Computed: false, }, + + "subject_reg_exp": schema.StringAttribute{ + Description: "SubjectRegExp is the regular expression to match identity used for keyless signing, for example the email address.", + MarkdownDescription: "SubjectRegExp is the regular expression to match identity used for keyless signing, for example the email address.", + Required: false, + Optional: true, + Computed: false, + }, }, Required: false, Optional: true, @@ -5793,6 +5831,14 @@ func (r *KyvernoIoPolicyV1Manifest) Schema(_ context.Context, _ datasource.Schem Computed: false, }, + "issuer_reg_exp": schema.StringAttribute{ + Description: "IssuerRegExp is the regular expression to match certificate issuer used for keyless signing.", + MarkdownDescription: "IssuerRegExp is the regular expression to match certificate issuer used for keyless signing.", + Required: false, + Optional: true, + Computed: false, + }, + "rekor": schema.SingleNestedAttribute{ Description: "Rekor provides configuration for the Rekor transparency log service. If an empty objectis provided the public instance of Rekor (https://rekor.sigstore.dev) is used.", MarkdownDescription: "Rekor provides configuration for the Rekor transparency log service. If an empty objectis provided the public instance of Rekor (https://rekor.sigstore.dev) is used.", @@ -5841,6 +5887,14 @@ func (r *KyvernoIoPolicyV1Manifest) Schema(_ context.Context, _ datasource.Schem Optional: true, Computed: false, }, + + "subject_reg_exp": schema.StringAttribute{ + Description: "SubjectRegExp is the regular expression to match identity used for keyless signing, for example the email address.", + MarkdownDescription: "SubjectRegExp is the regular expression to match identity used for keyless signing, for example the email address.", + Required: false, + Optional: true, + Computed: false, + }, }, Required: false, Optional: true, diff --git a/internal/provider/kyverno_io_v2/kyverno_io_update_request_v2_manifest.go b/internal/provider/kyverno_io_v2/kyverno_io_update_request_v2_manifest.go index 67e3377b1..41d324885 100644 --- a/internal/provider/kyverno_io_v2/kyverno_io_update_request_v2_manifest.go +++ b/internal/provider/kyverno_io_v2/kyverno_io_update_request_v2_manifest.go @@ -107,7 +107,19 @@ type KyvernoIoUpdateRequestV2ManifestData struct { Uid *string `tfsdk:"uid" json:"uid,omitempty"` } `tfsdk:"resource" json:"resource,omitempty"` Rule *string `tfsdk:"rule" json:"rule,omitempty"` - Synchronize *bool `tfsdk:"synchronize" json:"synchronize,omitempty"` + RuleContext *[]struct { + DeleteDownstream *bool `tfsdk:"delete_downstream" json:"deleteDownstream,omitempty"` + Rule *string `tfsdk:"rule" json:"rule,omitempty"` + Synchronize *bool `tfsdk:"synchronize" json:"synchronize,omitempty"` + Trigger *struct { + ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"` + Kind *string `tfsdk:"kind" json:"kind,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` + Uid *string `tfsdk:"uid" json:"uid,omitempty"` + } `tfsdk:"trigger" json:"trigger,omitempty"` + } `tfsdk:"rule_context" json:"ruleContext,omitempty"` + Synchronize *bool `tfsdk:"synchronize" json:"synchronize,omitempty"` } `tfsdk:"spec" json:"spec,omitempty"` } @@ -189,8 +201,8 @@ func (r *KyvernoIoUpdateRequestV2Manifest) Schema(_ context.Context, _ datasourc MarkdownDescription: "ResourceSpec is the information to identify the trigger resource.", Attributes: map[string]schema.Attribute{ "context": schema.SingleNestedAttribute{ - Description: "Context ...", - MarkdownDescription: "Context ...", + Description: "Context represents admission request context.It is used upon admission review only and is shared across rules within the same UR.", + MarkdownDescription: "Context represents admission request context.It is used upon admission review only and is shared across rules within the same UR.", Attributes: map[string]schema.Attribute{ "admission_request_info": schema.SingleNestedAttribute{ Description: "AdmissionRequestInfoObject stores the admission request and operation details", @@ -552,8 +564,8 @@ func (r *KyvernoIoUpdateRequestV2Manifest) Schema(_ context.Context, _ datasourc }, "delete_downstream": schema.BoolAttribute{ - Description: "DeleteDownstream represents whether the downstream needs to be deleted.", - MarkdownDescription: "DeleteDownstream represents whether the downstream needs to be deleted.", + Description: "DeleteDownstream represents whether the downstream needs to be deleted.Deprecated", + MarkdownDescription: "DeleteDownstream represents whether the downstream needs to be deleted.Deprecated", Required: true, Optional: false, Computed: false, @@ -635,9 +647,93 @@ func (r *KyvernoIoUpdateRequestV2Manifest) Schema(_ context.Context, _ datasourc Computed: false, }, + "rule_context": schema.ListNestedAttribute{ + Description: "RuleContext is the associate context to apply rules.optional", + MarkdownDescription: "RuleContext is the associate context to apply rules.optional", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "delete_downstream": schema.BoolAttribute{ + Description: "DeleteDownstream represents whether the downstream needs to be deleted.", + MarkdownDescription: "DeleteDownstream represents whether the downstream needs to be deleted.", + Required: true, + Optional: false, + Computed: false, + }, + + "rule": schema.StringAttribute{ + Description: "Rule is the associate rule name of the current UR.", + MarkdownDescription: "Rule is the associate rule name of the current UR.", + Required: true, + Optional: false, + Computed: false, + }, + + "synchronize": schema.BoolAttribute{ + Description: "Synchronize represents the sync behavior of the corresponding ruleOptional. Defaults to 'false' if not specified.", + MarkdownDescription: "Synchronize represents the sync behavior of the corresponding ruleOptional. Defaults to 'false' if not specified.", + Required: false, + Optional: true, + Computed: false, + }, + + "trigger": schema.SingleNestedAttribute{ + Description: "ResourceSpec is the information to identify the trigger resource.", + MarkdownDescription: "ResourceSpec is the information to identify the trigger resource.", + Attributes: map[string]schema.Attribute{ + "api_version": schema.StringAttribute{ + Description: "APIVersion specifies resource apiVersion.", + MarkdownDescription: "APIVersion specifies resource apiVersion.", + Required: false, + Optional: true, + Computed: false, + }, + + "kind": schema.StringAttribute{ + Description: "Kind specifies resource kind.", + MarkdownDescription: "Kind specifies resource kind.", + Required: false, + Optional: true, + Computed: false, + }, + + "name": schema.StringAttribute{ + Description: "Name specifies the resource name.", + MarkdownDescription: "Name specifies the resource name.", + Required: false, + Optional: true, + Computed: false, + }, + + "namespace": schema.StringAttribute{ + Description: "Namespace specifies resource namespace.", + MarkdownDescription: "Namespace specifies resource namespace.", + Required: false, + Optional: true, + Computed: false, + }, + + "uid": schema.StringAttribute{ + Description: "UID specifies the resource uid.", + MarkdownDescription: "UID specifies the resource uid.", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: true, + Optional: false, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + "synchronize": schema.BoolAttribute{ - Description: "Synchronize represents the sync behavior of the corresponding ruleOptional. Defaults to 'false' if not specified.", - MarkdownDescription: "Synchronize represents the sync behavior of the corresponding ruleOptional. Defaults to 'false' if not specified.", + Description: "Synchronize represents the sync behavior of the corresponding ruleOptional. Defaults to 'false' if not specified.Deprecated, will be removed in 1.14.", + MarkdownDescription: "Synchronize represents the sync behavior of the corresponding ruleOptional. Defaults to 'false' if not specified.Deprecated, will be removed in 1.14.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/kyverno_io_v2alpha1/kyverno_io_global_context_entry_v2alpha1_manifest.go b/internal/provider/kyverno_io_v2alpha1/kyverno_io_global_context_entry_v2alpha1_manifest.go index d58303abb..8f96f90c5 100644 --- a/internal/provider/kyverno_io_v2alpha1/kyverno_io_global_context_entry_v2alpha1_manifest.go +++ b/internal/provider/kyverno_io_v2alpha1/kyverno_io_global_context_entry_v2alpha1_manifest.go @@ -225,8 +225,8 @@ func (r *KyvernoIoGlobalContextEntryV2Alpha1Manifest) Schema(_ context.Context, "group": schema.StringAttribute{ Description: "Group defines the group of the resource.", MarkdownDescription: "Group defines the group of the resource.", - Required: true, - Optional: false, + Required: false, + Optional: true, Computed: false, }, diff --git a/internal/provider/kyverno_io_v2beta1/kyverno_io_cluster_policy_v2beta1_manifest.go b/internal/provider/kyverno_io_v2beta1/kyverno_io_cluster_policy_v2beta1_manifest.go index fe0b0b2a6..df554d9c4 100644 --- a/internal/provider/kyverno_io_v2beta1/kyverno_io_cluster_policy_v2beta1_manifest.go +++ b/internal/provider/kyverno_io_v2beta1/kyverno_io_cluster_policy_v2beta1_manifest.go @@ -529,14 +529,16 @@ type KyvernoIoClusterPolicyV2Beta1ManifestData struct { Pubkey *string `tfsdk:"pubkey" json:"pubkey,omitempty"` TsaCertChain *string `tfsdk:"tsa_cert_chain" json:"tsaCertChain,omitempty"` } `tfsdk:"ctlog" json:"ctlog,omitempty"` - Issuer *string `tfsdk:"issuer" json:"issuer,omitempty"` - Rekor *struct { + Issuer *string `tfsdk:"issuer" json:"issuer,omitempty"` + IssuerRegExp *string `tfsdk:"issuer_reg_exp" json:"issuerRegExp,omitempty"` + Rekor *struct { IgnoreTlog *bool `tfsdk:"ignore_tlog" json:"ignoreTlog,omitempty"` Pubkey *string `tfsdk:"pubkey" json:"pubkey,omitempty"` Url *string `tfsdk:"url" json:"url,omitempty"` } `tfsdk:"rekor" json:"rekor,omitempty"` - Roots *string `tfsdk:"roots" json:"roots,omitempty"` - Subject *string `tfsdk:"subject" json:"subject,omitempty"` + Roots *string `tfsdk:"roots" json:"roots,omitempty"` + Subject *string `tfsdk:"subject" json:"subject,omitempty"` + SubjectRegExp *string `tfsdk:"subject_reg_exp" json:"subjectRegExp,omitempty"` } `tfsdk:"keyless" json:"keyless,omitempty"` Keys *struct { Ctlog *struct { @@ -630,14 +632,16 @@ type KyvernoIoClusterPolicyV2Beta1ManifestData struct { Pubkey *string `tfsdk:"pubkey" json:"pubkey,omitempty"` TsaCertChain *string `tfsdk:"tsa_cert_chain" json:"tsaCertChain,omitempty"` } `tfsdk:"ctlog" json:"ctlog,omitempty"` - Issuer *string `tfsdk:"issuer" json:"issuer,omitempty"` - Rekor *struct { + Issuer *string `tfsdk:"issuer" json:"issuer,omitempty"` + IssuerRegExp *string `tfsdk:"issuer_reg_exp" json:"issuerRegExp,omitempty"` + Rekor *struct { IgnoreTlog *bool `tfsdk:"ignore_tlog" json:"ignoreTlog,omitempty"` Pubkey *string `tfsdk:"pubkey" json:"pubkey,omitempty"` Url *string `tfsdk:"url" json:"url,omitempty"` } `tfsdk:"rekor" json:"rekor,omitempty"` - Roots *string `tfsdk:"roots" json:"roots,omitempty"` - Subject *string `tfsdk:"subject" json:"subject,omitempty"` + Roots *string `tfsdk:"roots" json:"roots,omitempty"` + Subject *string `tfsdk:"subject" json:"subject,omitempty"` + SubjectRegExp *string `tfsdk:"subject_reg_exp" json:"subjectRegExp,omitempty"` } `tfsdk:"keyless" json:"keyless,omitempty"` Keys *struct { Ctlog *struct { @@ -704,14 +708,16 @@ type KyvernoIoClusterPolicyV2Beta1ManifestData struct { Pubkey *string `tfsdk:"pubkey" json:"pubkey,omitempty"` TsaCertChain *string `tfsdk:"tsa_cert_chain" json:"tsaCertChain,omitempty"` } `tfsdk:"ctlog" json:"ctlog,omitempty"` - Issuer *string `tfsdk:"issuer" json:"issuer,omitempty"` - Rekor *struct { + Issuer *string `tfsdk:"issuer" json:"issuer,omitempty"` + IssuerRegExp *string `tfsdk:"issuer_reg_exp" json:"issuerRegExp,omitempty"` + Rekor *struct { IgnoreTlog *bool `tfsdk:"ignore_tlog" json:"ignoreTlog,omitempty"` Pubkey *string `tfsdk:"pubkey" json:"pubkey,omitempty"` Url *string `tfsdk:"url" json:"url,omitempty"` } `tfsdk:"rekor" json:"rekor,omitempty"` - Roots *string `tfsdk:"roots" json:"roots,omitempty"` - Subject *string `tfsdk:"subject" json:"subject,omitempty"` + Roots *string `tfsdk:"roots" json:"roots,omitempty"` + Subject *string `tfsdk:"subject" json:"subject,omitempty"` + SubjectRegExp *string `tfsdk:"subject_reg_exp" json:"subjectRegExp,omitempty"` } `tfsdk:"keyless" json:"keyless,omitempty"` Keys *struct { Ctlog *struct { @@ -4237,6 +4243,14 @@ func (r *KyvernoIoClusterPolicyV2Beta1Manifest) Schema(_ context.Context, _ data Computed: false, }, + "issuer_reg_exp": schema.StringAttribute{ + Description: "IssuerRegExp is the regular expression to match certificate issuer used for keyless signing.", + MarkdownDescription: "IssuerRegExp is the regular expression to match certificate issuer used for keyless signing.", + Required: false, + Optional: true, + Computed: false, + }, + "rekor": schema.SingleNestedAttribute{ Description: "Rekor provides configuration for the Rekor transparency log service. If an empty objectis provided the public instance of Rekor (https://rekor.sigstore.dev) is used.", MarkdownDescription: "Rekor provides configuration for the Rekor transparency log service. If an empty objectis provided the public instance of Rekor (https://rekor.sigstore.dev) is used.", @@ -4285,6 +4299,14 @@ func (r *KyvernoIoClusterPolicyV2Beta1Manifest) Schema(_ context.Context, _ data Optional: true, Computed: false, }, + + "subject_reg_exp": schema.StringAttribute{ + Description: "SubjectRegExp is the regular expression to match identity used for keyless signing, for example the email address.", + MarkdownDescription: "SubjectRegExp is the regular expression to match identity used for keyless signing, for example the email address.", + Required: false, + Optional: true, + Computed: false, + }, }, Required: false, Optional: true, @@ -4935,6 +4957,14 @@ func (r *KyvernoIoClusterPolicyV2Beta1Manifest) Schema(_ context.Context, _ data Computed: false, }, + "issuer_reg_exp": schema.StringAttribute{ + Description: "IssuerRegExp is the regular expression to match certificate issuer used for keyless signing.", + MarkdownDescription: "IssuerRegExp is the regular expression to match certificate issuer used for keyless signing.", + Required: false, + Optional: true, + Computed: false, + }, + "rekor": schema.SingleNestedAttribute{ Description: "Rekor provides configuration for the Rekor transparency log service. If an empty objectis provided the public instance of Rekor (https://rekor.sigstore.dev) is used.", MarkdownDescription: "Rekor provides configuration for the Rekor transparency log service. If an empty objectis provided the public instance of Rekor (https://rekor.sigstore.dev) is used.", @@ -4983,6 +5013,14 @@ func (r *KyvernoIoClusterPolicyV2Beta1Manifest) Schema(_ context.Context, _ data Optional: true, Computed: false, }, + + "subject_reg_exp": schema.StringAttribute{ + Description: "SubjectRegExp is the regular expression to match identity used for keyless signing, for example the email address.", + MarkdownDescription: "SubjectRegExp is the regular expression to match identity used for keyless signing, for example the email address.", + Required: false, + Optional: true, + Computed: false, + }, }, Required: false, Optional: true, @@ -5446,6 +5484,14 @@ func (r *KyvernoIoClusterPolicyV2Beta1Manifest) Schema(_ context.Context, _ data Computed: false, }, + "issuer_reg_exp": schema.StringAttribute{ + Description: "IssuerRegExp is the regular expression to match certificate issuer used for keyless signing.", + MarkdownDescription: "IssuerRegExp is the regular expression to match certificate issuer used for keyless signing.", + Required: false, + Optional: true, + Computed: false, + }, + "rekor": schema.SingleNestedAttribute{ Description: "Rekor provides configuration for the Rekor transparency log service. If an empty objectis provided the public instance of Rekor (https://rekor.sigstore.dev) is used.", MarkdownDescription: "Rekor provides configuration for the Rekor transparency log service. If an empty objectis provided the public instance of Rekor (https://rekor.sigstore.dev) is used.", @@ -5494,6 +5540,14 @@ func (r *KyvernoIoClusterPolicyV2Beta1Manifest) Schema(_ context.Context, _ data Optional: true, Computed: false, }, + + "subject_reg_exp": schema.StringAttribute{ + Description: "SubjectRegExp is the regular expression to match identity used for keyless signing, for example the email address.", + MarkdownDescription: "SubjectRegExp is the regular expression to match identity used for keyless signing, for example the email address.", + Required: false, + Optional: true, + Computed: false, + }, }, Required: false, Optional: true, diff --git a/internal/provider/kyverno_io_v2beta1/kyverno_io_policy_v2beta1_manifest.go b/internal/provider/kyverno_io_v2beta1/kyverno_io_policy_v2beta1_manifest.go index 87db2d566..c69cfb1b8 100644 --- a/internal/provider/kyverno_io_v2beta1/kyverno_io_policy_v2beta1_manifest.go +++ b/internal/provider/kyverno_io_v2beta1/kyverno_io_policy_v2beta1_manifest.go @@ -530,14 +530,16 @@ type KyvernoIoPolicyV2Beta1ManifestData struct { Pubkey *string `tfsdk:"pubkey" json:"pubkey,omitempty"` TsaCertChain *string `tfsdk:"tsa_cert_chain" json:"tsaCertChain,omitempty"` } `tfsdk:"ctlog" json:"ctlog,omitempty"` - Issuer *string `tfsdk:"issuer" json:"issuer,omitempty"` - Rekor *struct { + Issuer *string `tfsdk:"issuer" json:"issuer,omitempty"` + IssuerRegExp *string `tfsdk:"issuer_reg_exp" json:"issuerRegExp,omitempty"` + Rekor *struct { IgnoreTlog *bool `tfsdk:"ignore_tlog" json:"ignoreTlog,omitempty"` Pubkey *string `tfsdk:"pubkey" json:"pubkey,omitempty"` Url *string `tfsdk:"url" json:"url,omitempty"` } `tfsdk:"rekor" json:"rekor,omitempty"` - Roots *string `tfsdk:"roots" json:"roots,omitempty"` - Subject *string `tfsdk:"subject" json:"subject,omitempty"` + Roots *string `tfsdk:"roots" json:"roots,omitempty"` + Subject *string `tfsdk:"subject" json:"subject,omitempty"` + SubjectRegExp *string `tfsdk:"subject_reg_exp" json:"subjectRegExp,omitempty"` } `tfsdk:"keyless" json:"keyless,omitempty"` Keys *struct { Ctlog *struct { @@ -631,14 +633,16 @@ type KyvernoIoPolicyV2Beta1ManifestData struct { Pubkey *string `tfsdk:"pubkey" json:"pubkey,omitempty"` TsaCertChain *string `tfsdk:"tsa_cert_chain" json:"tsaCertChain,omitempty"` } `tfsdk:"ctlog" json:"ctlog,omitempty"` - Issuer *string `tfsdk:"issuer" json:"issuer,omitempty"` - Rekor *struct { + Issuer *string `tfsdk:"issuer" json:"issuer,omitempty"` + IssuerRegExp *string `tfsdk:"issuer_reg_exp" json:"issuerRegExp,omitempty"` + Rekor *struct { IgnoreTlog *bool `tfsdk:"ignore_tlog" json:"ignoreTlog,omitempty"` Pubkey *string `tfsdk:"pubkey" json:"pubkey,omitempty"` Url *string `tfsdk:"url" json:"url,omitempty"` } `tfsdk:"rekor" json:"rekor,omitempty"` - Roots *string `tfsdk:"roots" json:"roots,omitempty"` - Subject *string `tfsdk:"subject" json:"subject,omitempty"` + Roots *string `tfsdk:"roots" json:"roots,omitempty"` + Subject *string `tfsdk:"subject" json:"subject,omitempty"` + SubjectRegExp *string `tfsdk:"subject_reg_exp" json:"subjectRegExp,omitempty"` } `tfsdk:"keyless" json:"keyless,omitempty"` Keys *struct { Ctlog *struct { @@ -705,14 +709,16 @@ type KyvernoIoPolicyV2Beta1ManifestData struct { Pubkey *string `tfsdk:"pubkey" json:"pubkey,omitempty"` TsaCertChain *string `tfsdk:"tsa_cert_chain" json:"tsaCertChain,omitempty"` } `tfsdk:"ctlog" json:"ctlog,omitempty"` - Issuer *string `tfsdk:"issuer" json:"issuer,omitempty"` - Rekor *struct { + Issuer *string `tfsdk:"issuer" json:"issuer,omitempty"` + IssuerRegExp *string `tfsdk:"issuer_reg_exp" json:"issuerRegExp,omitempty"` + Rekor *struct { IgnoreTlog *bool `tfsdk:"ignore_tlog" json:"ignoreTlog,omitempty"` Pubkey *string `tfsdk:"pubkey" json:"pubkey,omitempty"` Url *string `tfsdk:"url" json:"url,omitempty"` } `tfsdk:"rekor" json:"rekor,omitempty"` - Roots *string `tfsdk:"roots" json:"roots,omitempty"` - Subject *string `tfsdk:"subject" json:"subject,omitempty"` + Roots *string `tfsdk:"roots" json:"roots,omitempty"` + Subject *string `tfsdk:"subject" json:"subject,omitempty"` + SubjectRegExp *string `tfsdk:"subject_reg_exp" json:"subjectRegExp,omitempty"` } `tfsdk:"keyless" json:"keyless,omitempty"` Keys *struct { Ctlog *struct { @@ -4250,6 +4256,14 @@ func (r *KyvernoIoPolicyV2Beta1Manifest) Schema(_ context.Context, _ datasource. Computed: false, }, + "issuer_reg_exp": schema.StringAttribute{ + Description: "IssuerRegExp is the regular expression to match certificate issuer used for keyless signing.", + MarkdownDescription: "IssuerRegExp is the regular expression to match certificate issuer used for keyless signing.", + Required: false, + Optional: true, + Computed: false, + }, + "rekor": schema.SingleNestedAttribute{ Description: "Rekor provides configuration for the Rekor transparency log service. If an empty objectis provided the public instance of Rekor (https://rekor.sigstore.dev) is used.", MarkdownDescription: "Rekor provides configuration for the Rekor transparency log service. If an empty objectis provided the public instance of Rekor (https://rekor.sigstore.dev) is used.", @@ -4298,6 +4312,14 @@ func (r *KyvernoIoPolicyV2Beta1Manifest) Schema(_ context.Context, _ datasource. Optional: true, Computed: false, }, + + "subject_reg_exp": schema.StringAttribute{ + Description: "SubjectRegExp is the regular expression to match identity used for keyless signing, for example the email address.", + MarkdownDescription: "SubjectRegExp is the regular expression to match identity used for keyless signing, for example the email address.", + Required: false, + Optional: true, + Computed: false, + }, }, Required: false, Optional: true, @@ -4948,6 +4970,14 @@ func (r *KyvernoIoPolicyV2Beta1Manifest) Schema(_ context.Context, _ datasource. Computed: false, }, + "issuer_reg_exp": schema.StringAttribute{ + Description: "IssuerRegExp is the regular expression to match certificate issuer used for keyless signing.", + MarkdownDescription: "IssuerRegExp is the regular expression to match certificate issuer used for keyless signing.", + Required: false, + Optional: true, + Computed: false, + }, + "rekor": schema.SingleNestedAttribute{ Description: "Rekor provides configuration for the Rekor transparency log service. If an empty objectis provided the public instance of Rekor (https://rekor.sigstore.dev) is used.", MarkdownDescription: "Rekor provides configuration for the Rekor transparency log service. If an empty objectis provided the public instance of Rekor (https://rekor.sigstore.dev) is used.", @@ -4996,6 +5026,14 @@ func (r *KyvernoIoPolicyV2Beta1Manifest) Schema(_ context.Context, _ datasource. Optional: true, Computed: false, }, + + "subject_reg_exp": schema.StringAttribute{ + Description: "SubjectRegExp is the regular expression to match identity used for keyless signing, for example the email address.", + MarkdownDescription: "SubjectRegExp is the regular expression to match identity used for keyless signing, for example the email address.", + Required: false, + Optional: true, + Computed: false, + }, }, Required: false, Optional: true, @@ -5459,6 +5497,14 @@ func (r *KyvernoIoPolicyV2Beta1Manifest) Schema(_ context.Context, _ datasource. Computed: false, }, + "issuer_reg_exp": schema.StringAttribute{ + Description: "IssuerRegExp is the regular expression to match certificate issuer used for keyless signing.", + MarkdownDescription: "IssuerRegExp is the regular expression to match certificate issuer used for keyless signing.", + Required: false, + Optional: true, + Computed: false, + }, + "rekor": schema.SingleNestedAttribute{ Description: "Rekor provides configuration for the Rekor transparency log service. If an empty objectis provided the public instance of Rekor (https://rekor.sigstore.dev) is used.", MarkdownDescription: "Rekor provides configuration for the Rekor transparency log service. If an empty objectis provided the public instance of Rekor (https://rekor.sigstore.dev) is used.", @@ -5507,6 +5553,14 @@ func (r *KyvernoIoPolicyV2Beta1Manifest) Schema(_ context.Context, _ datasource. Optional: true, Computed: false, }, + + "subject_reg_exp": schema.StringAttribute{ + Description: "SubjectRegExp is the regular expression to match identity used for keyless signing, for example the email address.", + MarkdownDescription: "SubjectRegExp is the regular expression to match identity used for keyless signing, for example the email address.", + Required: false, + Optional: true, + Computed: false, + }, }, Required: false, Optional: true, diff --git a/internal/provider/logging_banzaicloud_io_v1beta1/logging_banzaicloud_io_fluentbit_agent_v1beta1_manifest.go b/internal/provider/logging_banzaicloud_io_v1beta1/logging_banzaicloud_io_fluentbit_agent_v1beta1_manifest.go index 0905b8df1..621438cef 100644 --- a/internal/provider/logging_banzaicloud_io_v1beta1/logging_banzaicloud_io_fluentbit_agent_v1beta1_manifest.go +++ b/internal/provider/logging_banzaicloud_io_v1beta1/logging_banzaicloud_io_fluentbit_agent_v1beta1_manifest.go @@ -260,13 +260,22 @@ type LoggingBanzaicloudIoFluentbitAgentV1Beta1ManifestData struct { Tag *string `tfsdk:"tag" json:"tag,omitempty"` } `tfsdk:"buffer_volume_image" json:"bufferVolumeImage,omitempty"` BufferVolumeMetrics *struct { - Interval *string `tfsdk:"interval" json:"interval,omitempty"` - Path *string `tfsdk:"path" json:"path,omitempty"` - Port *int64 `tfsdk:"port" json:"port,omitempty"` - PrometheusAnnotations *bool `tfsdk:"prometheus_annotations" json:"prometheusAnnotations,omitempty"` - PrometheusRules *bool `tfsdk:"prometheus_rules" json:"prometheusRules,omitempty"` - ServiceMonitor *bool `tfsdk:"service_monitor" json:"serviceMonitor,omitempty"` - ServiceMonitorConfig *struct { + Interval *string `tfsdk:"interval" json:"interval,omitempty"` + Path *string `tfsdk:"path" json:"path,omitempty"` + Port *int64 `tfsdk:"port" json:"port,omitempty"` + PrometheusAnnotations *bool `tfsdk:"prometheus_annotations" json:"prometheusAnnotations,omitempty"` + PrometheusRules *bool `tfsdk:"prometheus_rules" json:"prometheusRules,omitempty"` + PrometheusRulesOverride *[]struct { + Alert *string `tfsdk:"alert" json:"alert,omitempty"` + Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"` + Expr *string `tfsdk:"expr" json:"expr,omitempty"` + For *string `tfsdk:"for" json:"for,omitempty"` + Keep_firing_for *string `tfsdk:"keep_firing_for" json:"keep_firing_for,omitempty"` + Labels *map[string]string `tfsdk:"labels" json:"labels,omitempty"` + Record *string `tfsdk:"record" json:"record,omitempty"` + } `tfsdk:"prometheus_rules_override" json:"prometheusRulesOverride,omitempty"` + ServiceMonitor *bool `tfsdk:"service_monitor" json:"serviceMonitor,omitempty"` + ServiceMonitorConfig *struct { AdditionalLabels *map[string]string `tfsdk:"additional_labels" json:"additionalLabels,omitempty"` HonorLabels *bool `tfsdk:"honor_labels" json:"honorLabels,omitempty"` MetricRelabelings *[]struct { @@ -606,13 +615,22 @@ type LoggingBanzaicloudIoFluentbitAgentV1Beta1ManifestData struct { LogLevel *string `tfsdk:"log_level" json:"logLevel,omitempty"` LoggingRef *string `tfsdk:"logging_ref" json:"loggingRef,omitempty"` Metrics *struct { - Interval *string `tfsdk:"interval" json:"interval,omitempty"` - Path *string `tfsdk:"path" json:"path,omitempty"` - Port *int64 `tfsdk:"port" json:"port,omitempty"` - PrometheusAnnotations *bool `tfsdk:"prometheus_annotations" json:"prometheusAnnotations,omitempty"` - PrometheusRules *bool `tfsdk:"prometheus_rules" json:"prometheusRules,omitempty"` - ServiceMonitor *bool `tfsdk:"service_monitor" json:"serviceMonitor,omitempty"` - ServiceMonitorConfig *struct { + Interval *string `tfsdk:"interval" json:"interval,omitempty"` + Path *string `tfsdk:"path" json:"path,omitempty"` + Port *int64 `tfsdk:"port" json:"port,omitempty"` + PrometheusAnnotations *bool `tfsdk:"prometheus_annotations" json:"prometheusAnnotations,omitempty"` + PrometheusRules *bool `tfsdk:"prometheus_rules" json:"prometheusRules,omitempty"` + PrometheusRulesOverride *[]struct { + Alert *string `tfsdk:"alert" json:"alert,omitempty"` + Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"` + Expr *string `tfsdk:"expr" json:"expr,omitempty"` + For *string `tfsdk:"for" json:"for,omitempty"` + Keep_firing_for *string `tfsdk:"keep_firing_for" json:"keep_firing_for,omitempty"` + Labels *map[string]string `tfsdk:"labels" json:"labels,omitempty"` + Record *string `tfsdk:"record" json:"record,omitempty"` + } `tfsdk:"prometheus_rules_override" json:"prometheusRulesOverride,omitempty"` + ServiceMonitor *bool `tfsdk:"service_monitor" json:"serviceMonitor,omitempty"` + ServiceMonitorConfig *struct { AdditionalLabels *map[string]string `tfsdk:"additional_labels" json:"additionalLabels,omitempty"` HonorLabels *bool `tfsdk:"honor_labels" json:"honorLabels,omitempty"` MetricRelabelings *[]struct { @@ -2466,6 +2484,82 @@ func (r *LoggingBanzaicloudIoFluentbitAgentV1Beta1Manifest) Schema(_ context.Con Computed: false, }, + "prometheus_rules_override": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "alert": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "annotations": schema.MapAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "expr": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "for": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + Validators: []validator.String{ + stringvalidator.RegexMatches(regexp.MustCompile(`^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$`), ""), + }, + }, + + "keep_firing_for": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + Validators: []validator.String{ + stringvalidator.LengthAtLeast(1), + stringvalidator.RegexMatches(regexp.MustCompile(`^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$`), ""), + }, + }, + + "labels": schema.MapAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "record": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + "service_monitor": schema.BoolAttribute{ Description: "", MarkdownDescription: "", @@ -4845,6 +4939,82 @@ func (r *LoggingBanzaicloudIoFluentbitAgentV1Beta1Manifest) Schema(_ context.Con Computed: false, }, + "prometheus_rules_override": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "alert": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "annotations": schema.MapAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "expr": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "for": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + Validators: []validator.String{ + stringvalidator.RegexMatches(regexp.MustCompile(`^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$`), ""), + }, + }, + + "keep_firing_for": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + Validators: []validator.String{ + stringvalidator.LengthAtLeast(1), + stringvalidator.RegexMatches(regexp.MustCompile(`^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$`), ""), + }, + }, + + "labels": schema.MapAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "record": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + "service_monitor": schema.BoolAttribute{ Description: "", MarkdownDescription: "", diff --git a/internal/provider/logging_banzaicloud_io_v1beta1/logging_banzaicloud_io_logging_v1beta1_manifest.go b/internal/provider/logging_banzaicloud_io_v1beta1/logging_banzaicloud_io_logging_v1beta1_manifest.go index 07e82edae..507ccc835 100644 --- a/internal/provider/logging_banzaicloud_io_v1beta1/logging_banzaicloud_io_logging_v1beta1_manifest.go +++ b/internal/provider/logging_banzaicloud_io_v1beta1/logging_banzaicloud_io_logging_v1beta1_manifest.go @@ -497,6 +497,7 @@ type LoggingBanzaicloudIoLoggingV1Beta1ManifestData struct { IncludeLabelInRouter *bool `tfsdk:"include_label_in_router" json:"includeLabelInRouter,omitempty"` OutputRefs *[]string `tfsdk:"output_refs" json:"outputRefs,omitempty"` } `tfsdk:"default_flow" json:"defaultFlow,omitempty"` + EnableDockerParserCompatibilityForCRI *bool `tfsdk:"enable_docker_parser_compatibility_for_cri" json:"enableDockerParserCompatibilityForCRI,omitempty"` EnableRecreateWorkloadOnImmutableFieldChange *bool `tfsdk:"enable_recreate_workload_on_immutable_field_change" json:"enableRecreateWorkloadOnImmutableFieldChange,omitempty"` ErrorOutputRef *string `tfsdk:"error_output_ref" json:"errorOutputRef,omitempty"` FlowConfigCheckDisabled *bool `tfsdk:"flow_config_check_disabled" json:"flowConfigCheckDisabled,omitempty"` @@ -719,13 +720,22 @@ type LoggingBanzaicloudIoLoggingV1Beta1ManifestData struct { Tag *string `tfsdk:"tag" json:"tag,omitempty"` } `tfsdk:"buffer_volume_image" json:"bufferVolumeImage,omitempty"` BufferVolumeMetrics *struct { - Interval *string `tfsdk:"interval" json:"interval,omitempty"` - Path *string `tfsdk:"path" json:"path,omitempty"` - Port *int64 `tfsdk:"port" json:"port,omitempty"` - PrometheusAnnotations *bool `tfsdk:"prometheus_annotations" json:"prometheusAnnotations,omitempty"` - PrometheusRules *bool `tfsdk:"prometheus_rules" json:"prometheusRules,omitempty"` - ServiceMonitor *bool `tfsdk:"service_monitor" json:"serviceMonitor,omitempty"` - ServiceMonitorConfig *struct { + Interval *string `tfsdk:"interval" json:"interval,omitempty"` + Path *string `tfsdk:"path" json:"path,omitempty"` + Port *int64 `tfsdk:"port" json:"port,omitempty"` + PrometheusAnnotations *bool `tfsdk:"prometheus_annotations" json:"prometheusAnnotations,omitempty"` + PrometheusRules *bool `tfsdk:"prometheus_rules" json:"prometheusRules,omitempty"` + PrometheusRulesOverride *[]struct { + Alert *string `tfsdk:"alert" json:"alert,omitempty"` + Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"` + Expr *string `tfsdk:"expr" json:"expr,omitempty"` + For *string `tfsdk:"for" json:"for,omitempty"` + Keep_firing_for *string `tfsdk:"keep_firing_for" json:"keep_firing_for,omitempty"` + Labels *map[string]string `tfsdk:"labels" json:"labels,omitempty"` + Record *string `tfsdk:"record" json:"record,omitempty"` + } `tfsdk:"prometheus_rules_override" json:"prometheusRulesOverride,omitempty"` + ServiceMonitor *bool `tfsdk:"service_monitor" json:"serviceMonitor,omitempty"` + ServiceMonitorConfig *struct { AdditionalLabels *map[string]string `tfsdk:"additional_labels" json:"additionalLabels,omitempty"` HonorLabels *bool `tfsdk:"honor_labels" json:"honorLabels,omitempty"` MetricRelabelings *[]struct { @@ -1065,13 +1075,22 @@ type LoggingBanzaicloudIoLoggingV1Beta1ManifestData struct { LogLevel *string `tfsdk:"log_level" json:"logLevel,omitempty"` LoggingRef *string `tfsdk:"logging_ref" json:"loggingRef,omitempty"` Metrics *struct { - Interval *string `tfsdk:"interval" json:"interval,omitempty"` - Path *string `tfsdk:"path" json:"path,omitempty"` - Port *int64 `tfsdk:"port" json:"port,omitempty"` - PrometheusAnnotations *bool `tfsdk:"prometheus_annotations" json:"prometheusAnnotations,omitempty"` - PrometheusRules *bool `tfsdk:"prometheus_rules" json:"prometheusRules,omitempty"` - ServiceMonitor *bool `tfsdk:"service_monitor" json:"serviceMonitor,omitempty"` - ServiceMonitorConfig *struct { + Interval *string `tfsdk:"interval" json:"interval,omitempty"` + Path *string `tfsdk:"path" json:"path,omitempty"` + Port *int64 `tfsdk:"port" json:"port,omitempty"` + PrometheusAnnotations *bool `tfsdk:"prometheus_annotations" json:"prometheusAnnotations,omitempty"` + PrometheusRules *bool `tfsdk:"prometheus_rules" json:"prometheusRules,omitempty"` + PrometheusRulesOverride *[]struct { + Alert *string `tfsdk:"alert" json:"alert,omitempty"` + Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"` + Expr *string `tfsdk:"expr" json:"expr,omitempty"` + For *string `tfsdk:"for" json:"for,omitempty"` + Keep_firing_for *string `tfsdk:"keep_firing_for" json:"keep_firing_for,omitempty"` + Labels *map[string]string `tfsdk:"labels" json:"labels,omitempty"` + Record *string `tfsdk:"record" json:"record,omitempty"` + } `tfsdk:"prometheus_rules_override" json:"prometheusRulesOverride,omitempty"` + ServiceMonitor *bool `tfsdk:"service_monitor" json:"serviceMonitor,omitempty"` + ServiceMonitorConfig *struct { AdditionalLabels *map[string]string `tfsdk:"additional_labels" json:"additionalLabels,omitempty"` HonorLabels *bool `tfsdk:"honor_labels" json:"honorLabels,omitempty"` MetricRelabelings *[]struct { @@ -1576,13 +1595,22 @@ type LoggingBanzaicloudIoLoggingV1Beta1ManifestData struct { Tag *string `tfsdk:"tag" json:"tag,omitempty"` } `tfsdk:"buffer_volume_image" json:"bufferVolumeImage,omitempty"` BufferVolumeMetrics *struct { - Interval *string `tfsdk:"interval" json:"interval,omitempty"` - Path *string `tfsdk:"path" json:"path,omitempty"` - Port *int64 `tfsdk:"port" json:"port,omitempty"` - PrometheusAnnotations *bool `tfsdk:"prometheus_annotations" json:"prometheusAnnotations,omitempty"` - PrometheusRules *bool `tfsdk:"prometheus_rules" json:"prometheusRules,omitempty"` - ServiceMonitor *bool `tfsdk:"service_monitor" json:"serviceMonitor,omitempty"` - ServiceMonitorConfig *struct { + Interval *string `tfsdk:"interval" json:"interval,omitempty"` + Path *string `tfsdk:"path" json:"path,omitempty"` + Port *int64 `tfsdk:"port" json:"port,omitempty"` + PrometheusAnnotations *bool `tfsdk:"prometheus_annotations" json:"prometheusAnnotations,omitempty"` + PrometheusRules *bool `tfsdk:"prometheus_rules" json:"prometheusRules,omitempty"` + PrometheusRulesOverride *[]struct { + Alert *string `tfsdk:"alert" json:"alert,omitempty"` + Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"` + Expr *string `tfsdk:"expr" json:"expr,omitempty"` + For *string `tfsdk:"for" json:"for,omitempty"` + Keep_firing_for *string `tfsdk:"keep_firing_for" json:"keep_firing_for,omitempty"` + Labels *map[string]string `tfsdk:"labels" json:"labels,omitempty"` + Record *string `tfsdk:"record" json:"record,omitempty"` + } `tfsdk:"prometheus_rules_override" json:"prometheusRulesOverride,omitempty"` + ServiceMonitor *bool `tfsdk:"service_monitor" json:"serviceMonitor,omitempty"` + ServiceMonitorConfig *struct { AdditionalLabels *map[string]string `tfsdk:"additional_labels" json:"additionalLabels,omitempty"` HonorLabels *bool `tfsdk:"honor_labels" json:"honorLabels,omitempty"` MetricRelabelings *[]struct { @@ -1939,13 +1967,22 @@ type LoggingBanzaicloudIoLoggingV1Beta1ManifestData struct { LogFormat *string `tfsdk:"log_format" json:"logFormat,omitempty"` LogLevel *string `tfsdk:"log_level" json:"logLevel,omitempty"` Metrics *struct { - Interval *string `tfsdk:"interval" json:"interval,omitempty"` - Path *string `tfsdk:"path" json:"path,omitempty"` - Port *int64 `tfsdk:"port" json:"port,omitempty"` - PrometheusAnnotations *bool `tfsdk:"prometheus_annotations" json:"prometheusAnnotations,omitempty"` - PrometheusRules *bool `tfsdk:"prometheus_rules" json:"prometheusRules,omitempty"` - ServiceMonitor *bool `tfsdk:"service_monitor" json:"serviceMonitor,omitempty"` - ServiceMonitorConfig *struct { + Interval *string `tfsdk:"interval" json:"interval,omitempty"` + Path *string `tfsdk:"path" json:"path,omitempty"` + Port *int64 `tfsdk:"port" json:"port,omitempty"` + PrometheusAnnotations *bool `tfsdk:"prometheus_annotations" json:"prometheusAnnotations,omitempty"` + PrometheusRules *bool `tfsdk:"prometheus_rules" json:"prometheusRules,omitempty"` + PrometheusRulesOverride *[]struct { + Alert *string `tfsdk:"alert" json:"alert,omitempty"` + Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"` + Expr *string `tfsdk:"expr" json:"expr,omitempty"` + For *string `tfsdk:"for" json:"for,omitempty"` + Keep_firing_for *string `tfsdk:"keep_firing_for" json:"keep_firing_for,omitempty"` + Labels *map[string]string `tfsdk:"labels" json:"labels,omitempty"` + Record *string `tfsdk:"record" json:"record,omitempty"` + } `tfsdk:"prometheus_rules_override" json:"prometheusRulesOverride,omitempty"` + ServiceMonitor *bool `tfsdk:"service_monitor" json:"serviceMonitor,omitempty"` + ServiceMonitorConfig *struct { AdditionalLabels *map[string]string `tfsdk:"additional_labels" json:"additionalLabels,omitempty"` HonorLabels *bool `tfsdk:"honor_labels" json:"honorLabels,omitempty"` MetricRelabelings *[]struct { @@ -4433,13 +4470,22 @@ type LoggingBanzaicloudIoLoggingV1Beta1ManifestData struct { LivenessDefaultCheck *bool `tfsdk:"liveness_default_check" json:"livenessDefaultCheck,omitempty"` LogLevel *string `tfsdk:"log_level" json:"logLevel,omitempty"` Metrics *struct { - Interval *string `tfsdk:"interval" json:"interval,omitempty"` - Path *string `tfsdk:"path" json:"path,omitempty"` - Port *int64 `tfsdk:"port" json:"port,omitempty"` - PrometheusAnnotations *bool `tfsdk:"prometheus_annotations" json:"prometheusAnnotations,omitempty"` - PrometheusRules *bool `tfsdk:"prometheus_rules" json:"prometheusRules,omitempty"` - ServiceMonitor *bool `tfsdk:"service_monitor" json:"serviceMonitor,omitempty"` - ServiceMonitorConfig *struct { + Interval *string `tfsdk:"interval" json:"interval,omitempty"` + Path *string `tfsdk:"path" json:"path,omitempty"` + Port *int64 `tfsdk:"port" json:"port,omitempty"` + PrometheusAnnotations *bool `tfsdk:"prometheus_annotations" json:"prometheusAnnotations,omitempty"` + PrometheusRules *bool `tfsdk:"prometheus_rules" json:"prometheusRules,omitempty"` + PrometheusRulesOverride *[]struct { + Alert *string `tfsdk:"alert" json:"alert,omitempty"` + Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"` + Expr *string `tfsdk:"expr" json:"expr,omitempty"` + For *string `tfsdk:"for" json:"for,omitempty"` + Keep_firing_for *string `tfsdk:"keep_firing_for" json:"keep_firing_for,omitempty"` + Labels *map[string]string `tfsdk:"labels" json:"labels,omitempty"` + Record *string `tfsdk:"record" json:"record,omitempty"` + } `tfsdk:"prometheus_rules_override" json:"prometheusRulesOverride,omitempty"` + ServiceMonitor *bool `tfsdk:"service_monitor" json:"serviceMonitor,omitempty"` + ServiceMonitorConfig *struct { AdditionalLabels *map[string]string `tfsdk:"additional_labels" json:"additionalLabels,omitempty"` HonorLabels *bool `tfsdk:"honor_labels" json:"honorLabels,omitempty"` MetricRelabelings *[]struct { @@ -4721,14 +4767,23 @@ type LoggingBanzaicloudIoLoggingV1Beta1ManifestData struct { SkipInvalidResources *bool `tfsdk:"skip_invalid_resources" json:"skipInvalidResources,omitempty"` SyslogNG *struct { BufferVolumeMetrics *struct { - Interval *string `tfsdk:"interval" json:"interval,omitempty"` - Mount_name *string `tfsdk:"mount_name" json:"mount_name,omitempty"` - Path *string `tfsdk:"path" json:"path,omitempty"` - Port *int64 `tfsdk:"port" json:"port,omitempty"` - PrometheusAnnotations *bool `tfsdk:"prometheus_annotations" json:"prometheusAnnotations,omitempty"` - PrometheusRules *bool `tfsdk:"prometheus_rules" json:"prometheusRules,omitempty"` - ServiceMonitor *bool `tfsdk:"service_monitor" json:"serviceMonitor,omitempty"` - ServiceMonitorConfig *struct { + Interval *string `tfsdk:"interval" json:"interval,omitempty"` + Mount_name *string `tfsdk:"mount_name" json:"mount_name,omitempty"` + Path *string `tfsdk:"path" json:"path,omitempty"` + Port *int64 `tfsdk:"port" json:"port,omitempty"` + PrometheusAnnotations *bool `tfsdk:"prometheus_annotations" json:"prometheusAnnotations,omitempty"` + PrometheusRules *bool `tfsdk:"prometheus_rules" json:"prometheusRules,omitempty"` + PrometheusRulesOverride *[]struct { + Alert *string `tfsdk:"alert" json:"alert,omitempty"` + Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"` + Expr *string `tfsdk:"expr" json:"expr,omitempty"` + For *string `tfsdk:"for" json:"for,omitempty"` + Keep_firing_for *string `tfsdk:"keep_firing_for" json:"keep_firing_for,omitempty"` + Labels *map[string]string `tfsdk:"labels" json:"labels,omitempty"` + Record *string `tfsdk:"record" json:"record,omitempty"` + } `tfsdk:"prometheus_rules_override" json:"prometheusRulesOverride,omitempty"` + ServiceMonitor *bool `tfsdk:"service_monitor" json:"serviceMonitor,omitempty"` + ServiceMonitorConfig *struct { AdditionalLabels *map[string]string `tfsdk:"additional_labels" json:"additionalLabels,omitempty"` HonorLabels *bool `tfsdk:"honor_labels" json:"honorLabels,omitempty"` MetricRelabelings *[]struct { @@ -6121,13 +6176,22 @@ type LoggingBanzaicloudIoLoggingV1Beta1ManifestData struct { LogIWSize *int64 `tfsdk:"log_iw_size" json:"logIWSize,omitempty"` MaxConnections *int64 `tfsdk:"max_connections" json:"maxConnections,omitempty"` Metrics *struct { - Interval *string `tfsdk:"interval" json:"interval,omitempty"` - Path *string `tfsdk:"path" json:"path,omitempty"` - Port *int64 `tfsdk:"port" json:"port,omitempty"` - PrometheusAnnotations *bool `tfsdk:"prometheus_annotations" json:"prometheusAnnotations,omitempty"` - PrometheusRules *bool `tfsdk:"prometheus_rules" json:"prometheusRules,omitempty"` - ServiceMonitor *bool `tfsdk:"service_monitor" json:"serviceMonitor,omitempty"` - ServiceMonitorConfig *struct { + Interval *string `tfsdk:"interval" json:"interval,omitempty"` + Path *string `tfsdk:"path" json:"path,omitempty"` + Port *int64 `tfsdk:"port" json:"port,omitempty"` + PrometheusAnnotations *bool `tfsdk:"prometheus_annotations" json:"prometheusAnnotations,omitempty"` + PrometheusRules *bool `tfsdk:"prometheus_rules" json:"prometheusRules,omitempty"` + PrometheusRulesOverride *[]struct { + Alert *string `tfsdk:"alert" json:"alert,omitempty"` + Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"` + Expr *string `tfsdk:"expr" json:"expr,omitempty"` + For *string `tfsdk:"for" json:"for,omitempty"` + Keep_firing_for *string `tfsdk:"keep_firing_for" json:"keep_firing_for,omitempty"` + Labels *map[string]string `tfsdk:"labels" json:"labels,omitempty"` + Record *string `tfsdk:"record" json:"record,omitempty"` + } `tfsdk:"prometheus_rules_override" json:"prometheusRulesOverride,omitempty"` + ServiceMonitor *bool `tfsdk:"service_monitor" json:"serviceMonitor,omitempty"` + ServiceMonitorConfig *struct { AdditionalLabels *map[string]string `tfsdk:"additional_labels" json:"additionalLabels,omitempty"` HonorLabels *bool `tfsdk:"honor_labels" json:"honorLabels,omitempty"` MetricRelabelings *[]struct { @@ -10906,6 +10970,14 @@ func (r *LoggingBanzaicloudIoLoggingV1Beta1Manifest) Schema(_ context.Context, _ Computed: false, }, + "enable_docker_parser_compatibility_for_cri": schema.BoolAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + "enable_recreate_workload_on_immutable_field_change": schema.BoolAttribute{ Description: "", MarkdownDescription: "", @@ -12433,6 +12505,82 @@ func (r *LoggingBanzaicloudIoLoggingV1Beta1Manifest) Schema(_ context.Context, _ Computed: false, }, + "prometheus_rules_override": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "alert": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "annotations": schema.MapAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "expr": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "for": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + Validators: []validator.String{ + stringvalidator.RegexMatches(regexp.MustCompile(`^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$`), ""), + }, + }, + + "keep_firing_for": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + Validators: []validator.String{ + stringvalidator.LengthAtLeast(1), + stringvalidator.RegexMatches(regexp.MustCompile(`^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$`), ""), + }, + }, + + "labels": schema.MapAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "record": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + "service_monitor": schema.BoolAttribute{ Description: "", MarkdownDescription: "", @@ -14812,6 +14960,82 @@ func (r *LoggingBanzaicloudIoLoggingV1Beta1Manifest) Schema(_ context.Context, _ Computed: false, }, + "prometheus_rules_override": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "alert": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "annotations": schema.MapAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "expr": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "for": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + Validators: []validator.String{ + stringvalidator.RegexMatches(regexp.MustCompile(`^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$`), ""), + }, + }, + + "keep_firing_for": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + Validators: []validator.String{ + stringvalidator.LengthAtLeast(1), + stringvalidator.RegexMatches(regexp.MustCompile(`^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$`), ""), + }, + }, + + "labels": schema.MapAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "record": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + "service_monitor": schema.BoolAttribute{ Description: "", MarkdownDescription: "", @@ -18258,6 +18482,82 @@ func (r *LoggingBanzaicloudIoLoggingV1Beta1Manifest) Schema(_ context.Context, _ Computed: false, }, + "prometheus_rules_override": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "alert": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "annotations": schema.MapAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "expr": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "for": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + Validators: []validator.String{ + stringvalidator.RegexMatches(regexp.MustCompile(`^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$`), ""), + }, + }, + + "keep_firing_for": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + Validators: []validator.String{ + stringvalidator.LengthAtLeast(1), + stringvalidator.RegexMatches(regexp.MustCompile(`^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$`), ""), + }, + }, + + "labels": schema.MapAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "record": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + "service_monitor": schema.BoolAttribute{ Description: "", MarkdownDescription: "", @@ -20724,6 +21024,82 @@ func (r *LoggingBanzaicloudIoLoggingV1Beta1Manifest) Schema(_ context.Context, _ Computed: false, }, + "prometheus_rules_override": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "alert": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "annotations": schema.MapAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "expr": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "for": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + Validators: []validator.String{ + stringvalidator.RegexMatches(regexp.MustCompile(`^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$`), ""), + }, + }, + + "keep_firing_for": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + Validators: []validator.String{ + stringvalidator.LengthAtLeast(1), + stringvalidator.RegexMatches(regexp.MustCompile(`^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$`), ""), + }, + }, + + "labels": schema.MapAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "record": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + "service_monitor": schema.BoolAttribute{ Description: "", MarkdownDescription: "", @@ -37669,6 +38045,82 @@ func (r *LoggingBanzaicloudIoLoggingV1Beta1Manifest) Schema(_ context.Context, _ Computed: false, }, + "prometheus_rules_override": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "alert": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "annotations": schema.MapAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "expr": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "for": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + Validators: []validator.String{ + stringvalidator.RegexMatches(regexp.MustCompile(`^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$`), ""), + }, + }, + + "keep_firing_for": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + Validators: []validator.String{ + stringvalidator.LengthAtLeast(1), + stringvalidator.RegexMatches(regexp.MustCompile(`^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$`), ""), + }, + }, + + "labels": schema.MapAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "record": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + "service_monitor": schema.BoolAttribute{ Description: "", MarkdownDescription: "", @@ -39652,6 +40104,82 @@ func (r *LoggingBanzaicloudIoLoggingV1Beta1Manifest) Schema(_ context.Context, _ Computed: false, }, + "prometheus_rules_override": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "alert": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "annotations": schema.MapAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "expr": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "for": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + Validators: []validator.String{ + stringvalidator.RegexMatches(regexp.MustCompile(`^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$`), ""), + }, + }, + + "keep_firing_for": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + Validators: []validator.String{ + stringvalidator.LengthAtLeast(1), + stringvalidator.RegexMatches(regexp.MustCompile(`^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$`), ""), + }, + }, + + "labels": schema.MapAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "record": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + "service_monitor": schema.BoolAttribute{ Description: "", MarkdownDescription: "", @@ -49055,6 +49583,82 @@ func (r *LoggingBanzaicloudIoLoggingV1Beta1Manifest) Schema(_ context.Context, _ Computed: false, }, + "prometheus_rules_override": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "alert": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "annotations": schema.MapAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "expr": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "for": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + Validators: []validator.String{ + stringvalidator.RegexMatches(regexp.MustCompile(`^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$`), ""), + }, + }, + + "keep_firing_for": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + Validators: []validator.String{ + stringvalidator.LengthAtLeast(1), + stringvalidator.RegexMatches(regexp.MustCompile(`^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$`), ""), + }, + }, + + "labels": schema.MapAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "record": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + "service_monitor": schema.BoolAttribute{ Description: "", MarkdownDescription: "", diff --git a/internal/provider/logging_banzaicloud_io_v1beta1/logging_banzaicloud_io_node_agent_v1beta1_manifest.go b/internal/provider/logging_banzaicloud_io_v1beta1/logging_banzaicloud_io_node_agent_v1beta1_manifest.go index df075a165..6407665e1 100644 --- a/internal/provider/logging_banzaicloud_io_v1beta1/logging_banzaicloud_io_node_agent_v1beta1_manifest.go +++ b/internal/provider/logging_banzaicloud_io_v1beta1/logging_banzaicloud_io_node_agent_v1beta1_manifest.go @@ -1529,13 +1529,22 @@ type LoggingBanzaicloudIoNodeAgentV1Beta1ManifestData struct { LivenessDefaultCheck *bool `tfsdk:"liveness_default_check" json:"livenessDefaultCheck,omitempty"` LogLevel *string `tfsdk:"log_level" json:"logLevel,omitempty"` Metrics *struct { - Interval *string `tfsdk:"interval" json:"interval,omitempty"` - Path *string `tfsdk:"path" json:"path,omitempty"` - Port *int64 `tfsdk:"port" json:"port,omitempty"` - PrometheusAnnotations *bool `tfsdk:"prometheus_annotations" json:"prometheusAnnotations,omitempty"` - PrometheusRules *bool `tfsdk:"prometheus_rules" json:"prometheusRules,omitempty"` - ServiceMonitor *bool `tfsdk:"service_monitor" json:"serviceMonitor,omitempty"` - ServiceMonitorConfig *struct { + Interval *string `tfsdk:"interval" json:"interval,omitempty"` + Path *string `tfsdk:"path" json:"path,omitempty"` + Port *int64 `tfsdk:"port" json:"port,omitempty"` + PrometheusAnnotations *bool `tfsdk:"prometheus_annotations" json:"prometheusAnnotations,omitempty"` + PrometheusRules *bool `tfsdk:"prometheus_rules" json:"prometheusRules,omitempty"` + PrometheusRulesOverride *[]struct { + Alert *string `tfsdk:"alert" json:"alert,omitempty"` + Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"` + Expr *string `tfsdk:"expr" json:"expr,omitempty"` + For *string `tfsdk:"for" json:"for,omitempty"` + Keep_firing_for *string `tfsdk:"keep_firing_for" json:"keep_firing_for,omitempty"` + Labels *map[string]string `tfsdk:"labels" json:"labels,omitempty"` + Record *string `tfsdk:"record" json:"record,omitempty"` + } `tfsdk:"prometheus_rules_override" json:"prometheusRulesOverride,omitempty"` + ServiceMonitor *bool `tfsdk:"service_monitor" json:"serviceMonitor,omitempty"` + ServiceMonitorConfig *struct { AdditionalLabels *map[string]string `tfsdk:"additional_labels" json:"additionalLabels,omitempty"` HonorLabels *bool `tfsdk:"honor_labels" json:"honorLabels,omitempty"` MetricRelabelings *[]struct { @@ -11950,6 +11959,82 @@ func (r *LoggingBanzaicloudIoNodeAgentV1Beta1Manifest) Schema(_ context.Context, Computed: false, }, + "prometheus_rules_override": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "alert": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "annotations": schema.MapAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "expr": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "for": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + Validators: []validator.String{ + stringvalidator.RegexMatches(regexp.MustCompile(`^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$`), ""), + }, + }, + + "keep_firing_for": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + Validators: []validator.String{ + stringvalidator.LengthAtLeast(1), + stringvalidator.RegexMatches(regexp.MustCompile(`^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$`), ""), + }, + }, + + "labels": schema.MapAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "record": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + "service_monitor": schema.BoolAttribute{ Description: "", MarkdownDescription: "", diff --git a/internal/provider/monitoring_coreos_com_v1/monitoring_coreos_com_alertmanager_v1_manifest.go b/internal/provider/monitoring_coreos_com_v1/monitoring_coreos_com_alertmanager_v1_manifest.go index d217c368e..f62d45b41 100644 --- a/internal/provider/monitoring_coreos_com_v1/monitoring_coreos_com_alertmanager_v1_manifest.go +++ b/internal/provider/monitoring_coreos_com_v1/monitoring_coreos_com_alertmanager_v1_manifest.go @@ -2858,8 +2858,8 @@ func (r *MonitoringCoreosComAlertmanagerV1Manifest) Schema(_ context.Context, _ }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/monitoring_coreos_com_v1/monitoring_coreos_com_pod_monitor_v1_manifest.go b/internal/provider/monitoring_coreos_com_v1/monitoring_coreos_com_pod_monitor_v1_manifest.go index 3f9b4cce4..146cc2b7c 100644 --- a/internal/provider/monitoring_coreos_com_v1/monitoring_coreos_com_pod_monitor_v1_manifest.go +++ b/internal/provider/monitoring_coreos_com_v1/monitoring_coreos_com_pod_monitor_v1_manifest.go @@ -831,8 +831,8 @@ func (r *MonitoringCoreosComPodMonitorV1Manifest) Schema(_ context.Context, _ da }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/monitoring_coreos_com_v1/monitoring_coreos_com_probe_v1_manifest.go b/internal/provider/monitoring_coreos_com_v1/monitoring_coreos_com_probe_v1_manifest.go index a62429ea8..e99676b9d 100644 --- a/internal/provider/monitoring_coreos_com_v1/monitoring_coreos_com_probe_v1_manifest.go +++ b/internal/provider/monitoring_coreos_com_v1/monitoring_coreos_com_probe_v1_manifest.go @@ -745,8 +745,8 @@ func (r *MonitoringCoreosComProbeV1Manifest) Schema(_ context.Context, _ datasou }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/monitoring_coreos_com_v1/monitoring_coreos_com_prometheus_v1_manifest.go b/internal/provider/monitoring_coreos_com_v1/monitoring_coreos_com_prometheus_v1_manifest.go index aa80a14cd..35c4afe05 100644 --- a/internal/provider/monitoring_coreos_com_v1/monitoring_coreos_com_prometheus_v1_manifest.go +++ b/internal/provider/monitoring_coreos_com_v1/monitoring_coreos_com_prometheus_v1_manifest.go @@ -900,19 +900,22 @@ type MonitoringCoreosComPrometheusV1ManifestData struct { } `tfsdk:"volume_mounts" json:"volumeMounts,omitempty"` WorkingDir *string `tfsdk:"working_dir" json:"workingDir,omitempty"` } `tfsdk:"init_containers" json:"initContainers,omitempty"` - KeepDroppedTargets *int64 `tfsdk:"keep_dropped_targets" json:"keepDroppedTargets,omitempty"` - LabelLimit *int64 `tfsdk:"label_limit" json:"labelLimit,omitempty"` - LabelNameLengthLimit *int64 `tfsdk:"label_name_length_limit" json:"labelNameLengthLimit,omitempty"` - LabelValueLengthLimit *int64 `tfsdk:"label_value_length_limit" json:"labelValueLengthLimit,omitempty"` - ListenLocal *bool `tfsdk:"listen_local" json:"listenLocal,omitempty"` - LogFormat *string `tfsdk:"log_format" json:"logFormat,omitempty"` - LogLevel *string `tfsdk:"log_level" json:"logLevel,omitempty"` - MaximumStartupDurationSeconds *int64 `tfsdk:"maximum_startup_duration_seconds" json:"maximumStartupDurationSeconds,omitempty"` - MinReadySeconds *int64 `tfsdk:"min_ready_seconds" json:"minReadySeconds,omitempty"` - NodeSelector *map[string]string `tfsdk:"node_selector" json:"nodeSelector,omitempty"` - OverrideHonorLabels *bool `tfsdk:"override_honor_labels" json:"overrideHonorLabels,omitempty"` - OverrideHonorTimestamps *bool `tfsdk:"override_honor_timestamps" json:"overrideHonorTimestamps,omitempty"` - Paused *bool `tfsdk:"paused" json:"paused,omitempty"` + KeepDroppedTargets *int64 `tfsdk:"keep_dropped_targets" json:"keepDroppedTargets,omitempty"` + LabelLimit *int64 `tfsdk:"label_limit" json:"labelLimit,omitempty"` + LabelNameLengthLimit *int64 `tfsdk:"label_name_length_limit" json:"labelNameLengthLimit,omitempty"` + LabelValueLengthLimit *int64 `tfsdk:"label_value_length_limit" json:"labelValueLengthLimit,omitempty"` + ListenLocal *bool `tfsdk:"listen_local" json:"listenLocal,omitempty"` + LogFormat *string `tfsdk:"log_format" json:"logFormat,omitempty"` + LogLevel *string `tfsdk:"log_level" json:"logLevel,omitempty"` + MaximumStartupDurationSeconds *int64 `tfsdk:"maximum_startup_duration_seconds" json:"maximumStartupDurationSeconds,omitempty"` + MinReadySeconds *int64 `tfsdk:"min_ready_seconds" json:"minReadySeconds,omitempty"` + NodeSelector *map[string]string `tfsdk:"node_selector" json:"nodeSelector,omitempty"` + Otlp *struct { + PromoteResourceAttributes *[]string `tfsdk:"promote_resource_attributes" json:"promoteResourceAttributes,omitempty"` + } `tfsdk:"otlp" json:"otlp,omitempty"` + OverrideHonorLabels *bool `tfsdk:"override_honor_labels" json:"overrideHonorLabels,omitempty"` + OverrideHonorTimestamps *bool `tfsdk:"override_honor_timestamps" json:"overrideHonorTimestamps,omitempty"` + Paused *bool `tfsdk:"paused" json:"paused,omitempty"` PersistentVolumeClaimRetentionPolicy *struct { WhenDeleted *string `tfsdk:"when_deleted" json:"whenDeleted,omitempty"` WhenScaled *string `tfsdk:"when_scaled" json:"whenScaled,omitempty"` @@ -8043,6 +8046,24 @@ func (r *MonitoringCoreosComPrometheusV1Manifest) Schema(_ context.Context, _ da Computed: false, }, + "otlp": schema.SingleNestedAttribute{ + Description: "Settings related to the OTLP receiver feature.It requires Prometheus >= v2.54.0.", + MarkdownDescription: "Settings related to the OTLP receiver feature.It requires Prometheus >= v2.54.0.", + Attributes: map[string]schema.Attribute{ + "promote_resource_attributes": schema.ListAttribute{ + Description: "List of OpenTelemetry Attributes that should be promoted to metric labels, defaults to none.", + MarkdownDescription: "List of OpenTelemetry Attributes that should be promoted to metric labels, defaults to none.", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + "override_honor_labels": schema.BoolAttribute{ Description: "When true, Prometheus resolves label conflicts by renaming the labels in the scraped data to “exported_” for all targets created from ServiceMonitor, PodMonitor andScrapeConfig objects. Otherwise the HonorLabels field of the service or pod monitor applies.In practice,'overrideHonorLaels:true' enforces 'honorLabels:false'for all ServiceMonitor, PodMonitor and ScrapeConfig objects.", MarkdownDescription: "When true, Prometheus resolves label conflicts by renaming the labels in the scraped data to “exported_” for all targets created from ServiceMonitor, PodMonitor andScrapeConfig objects. Otherwise the HonorLabels field of the service or pod monitor applies.In practice,'overrideHonorLaels:true' enforces 'honorLabels:false'for all ServiceMonitor, PodMonitor and ScrapeConfig objects.", @@ -8811,8 +8832,8 @@ func (r *MonitoringCoreosComPrometheusV1Manifest) Schema(_ context.Context, _ da }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -9094,8 +9115,8 @@ func (r *MonitoringCoreosComPrometheusV1Manifest) Schema(_ context.Context, _ da }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -9892,8 +9913,8 @@ func (r *MonitoringCoreosComPrometheusV1Manifest) Schema(_ context.Context, _ da }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -10175,8 +10196,8 @@ func (r *MonitoringCoreosComPrometheusV1Manifest) Schema(_ context.Context, _ da }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/monitoring_coreos_com_v1/monitoring_coreos_com_service_monitor_v1_manifest.go b/internal/provider/monitoring_coreos_com_v1/monitoring_coreos_com_service_monitor_v1_manifest.go index 10d6fba1c..555a3ad7a 100644 --- a/internal/provider/monitoring_coreos_com_v1/monitoring_coreos_com_service_monitor_v1_manifest.go +++ b/internal/provider/monitoring_coreos_com_v1/monitoring_coreos_com_service_monitor_v1_manifest.go @@ -778,8 +778,8 @@ func (r *MonitoringCoreosComServiceMonitorV1Manifest) Schema(_ context.Context, }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/monitoring_coreos_com_v1alpha1/monitoring_coreos_com_alertmanager_config_v1alpha1_manifest.go b/internal/provider/monitoring_coreos_com_v1alpha1/monitoring_coreos_com_alertmanager_config_v1alpha1_manifest.go index 16ff0463f..6d7e2414f 100644 --- a/internal/provider/monitoring_coreos_com_v1alpha1/monitoring_coreos_com_alertmanager_config_v1alpha1_manifest.go +++ b/internal/provider/monitoring_coreos_com_v1alpha1/monitoring_coreos_com_alertmanager_config_v1alpha1_manifest.go @@ -2583,8 +2583,8 @@ func (r *MonitoringCoreosComAlertmanagerConfigV1Alpha1Manifest) Schema(_ context }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -3860,8 +3860,8 @@ func (r *MonitoringCoreosComAlertmanagerConfigV1Alpha1Manifest) Schema(_ context }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -4867,8 +4867,8 @@ func (r *MonitoringCoreosComAlertmanagerConfigV1Alpha1Manifest) Schema(_ context }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -5883,8 +5883,8 @@ func (r *MonitoringCoreosComAlertmanagerConfigV1Alpha1Manifest) Schema(_ context }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -6906,8 +6906,8 @@ func (r *MonitoringCoreosComAlertmanagerConfigV1Alpha1Manifest) Schema(_ context }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -8125,8 +8125,8 @@ func (r *MonitoringCoreosComAlertmanagerConfigV1Alpha1Manifest) Schema(_ context }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -9083,8 +9083,8 @@ func (r *MonitoringCoreosComAlertmanagerConfigV1Alpha1Manifest) Schema(_ context }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -10131,8 +10131,8 @@ func (r *MonitoringCoreosComAlertmanagerConfigV1Alpha1Manifest) Schema(_ context }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -11073,8 +11073,8 @@ func (r *MonitoringCoreosComAlertmanagerConfigV1Alpha1Manifest) Schema(_ context }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -11960,8 +11960,8 @@ func (r *MonitoringCoreosComAlertmanagerConfigV1Alpha1Manifest) Schema(_ context }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -12823,8 +12823,8 @@ func (r *MonitoringCoreosComAlertmanagerConfigV1Alpha1Manifest) Schema(_ context }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -13776,8 +13776,8 @@ func (r *MonitoringCoreosComAlertmanagerConfigV1Alpha1Manifest) Schema(_ context }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/monitoring_coreos_com_v1alpha1/monitoring_coreos_com_prometheus_agent_v1alpha1_manifest.go b/internal/provider/monitoring_coreos_com_v1alpha1/monitoring_coreos_com_prometheus_agent_v1alpha1_manifest.go index 20c7f784f..99e87f849 100644 --- a/internal/provider/monitoring_coreos_com_v1alpha1/monitoring_coreos_com_prometheus_agent_v1alpha1_manifest.go +++ b/internal/provider/monitoring_coreos_com_v1alpha1/monitoring_coreos_com_prometheus_agent_v1alpha1_manifest.go @@ -778,20 +778,23 @@ type MonitoringCoreosComPrometheusAgentV1Alpha1ManifestData struct { } `tfsdk:"volume_mounts" json:"volumeMounts,omitempty"` WorkingDir *string `tfsdk:"working_dir" json:"workingDir,omitempty"` } `tfsdk:"init_containers" json:"initContainers,omitempty"` - KeepDroppedTargets *int64 `tfsdk:"keep_dropped_targets" json:"keepDroppedTargets,omitempty"` - LabelLimit *int64 `tfsdk:"label_limit" json:"labelLimit,omitempty"` - LabelNameLengthLimit *int64 `tfsdk:"label_name_length_limit" json:"labelNameLengthLimit,omitempty"` - LabelValueLengthLimit *int64 `tfsdk:"label_value_length_limit" json:"labelValueLengthLimit,omitempty"` - ListenLocal *bool `tfsdk:"listen_local" json:"listenLocal,omitempty"` - LogFormat *string `tfsdk:"log_format" json:"logFormat,omitempty"` - LogLevel *string `tfsdk:"log_level" json:"logLevel,omitempty"` - MaximumStartupDurationSeconds *int64 `tfsdk:"maximum_startup_duration_seconds" json:"maximumStartupDurationSeconds,omitempty"` - MinReadySeconds *int64 `tfsdk:"min_ready_seconds" json:"minReadySeconds,omitempty"` - Mode *string `tfsdk:"mode" json:"mode,omitempty"` - NodeSelector *map[string]string `tfsdk:"node_selector" json:"nodeSelector,omitempty"` - OverrideHonorLabels *bool `tfsdk:"override_honor_labels" json:"overrideHonorLabels,omitempty"` - OverrideHonorTimestamps *bool `tfsdk:"override_honor_timestamps" json:"overrideHonorTimestamps,omitempty"` - Paused *bool `tfsdk:"paused" json:"paused,omitempty"` + KeepDroppedTargets *int64 `tfsdk:"keep_dropped_targets" json:"keepDroppedTargets,omitempty"` + LabelLimit *int64 `tfsdk:"label_limit" json:"labelLimit,omitempty"` + LabelNameLengthLimit *int64 `tfsdk:"label_name_length_limit" json:"labelNameLengthLimit,omitempty"` + LabelValueLengthLimit *int64 `tfsdk:"label_value_length_limit" json:"labelValueLengthLimit,omitempty"` + ListenLocal *bool `tfsdk:"listen_local" json:"listenLocal,omitempty"` + LogFormat *string `tfsdk:"log_format" json:"logFormat,omitempty"` + LogLevel *string `tfsdk:"log_level" json:"logLevel,omitempty"` + MaximumStartupDurationSeconds *int64 `tfsdk:"maximum_startup_duration_seconds" json:"maximumStartupDurationSeconds,omitempty"` + MinReadySeconds *int64 `tfsdk:"min_ready_seconds" json:"minReadySeconds,omitempty"` + Mode *string `tfsdk:"mode" json:"mode,omitempty"` + NodeSelector *map[string]string `tfsdk:"node_selector" json:"nodeSelector,omitempty"` + Otlp *struct { + PromoteResourceAttributes *[]string `tfsdk:"promote_resource_attributes" json:"promoteResourceAttributes,omitempty"` + } `tfsdk:"otlp" json:"otlp,omitempty"` + OverrideHonorLabels *bool `tfsdk:"override_honor_labels" json:"overrideHonorLabels,omitempty"` + OverrideHonorTimestamps *bool `tfsdk:"override_honor_timestamps" json:"overrideHonorTimestamps,omitempty"` + Paused *bool `tfsdk:"paused" json:"paused,omitempty"` PersistentVolumeClaimRetentionPolicy *struct { WhenDeleted *string `tfsdk:"when_deleted" json:"whenDeleted,omitempty"` WhenScaled *string `tfsdk:"when_scaled" json:"whenScaled,omitempty"` @@ -6822,6 +6825,24 @@ func (r *MonitoringCoreosComPrometheusAgentV1Alpha1Manifest) Schema(_ context.Co Computed: false, }, + "otlp": schema.SingleNestedAttribute{ + Description: "Settings related to the OTLP receiver feature.It requires Prometheus >= v2.54.0.", + MarkdownDescription: "Settings related to the OTLP receiver feature.It requires Prometheus >= v2.54.0.", + Attributes: map[string]schema.Attribute{ + "promote_resource_attributes": schema.ListAttribute{ + Description: "List of OpenTelemetry Attributes that should be promoted to metric labels, defaults to none.", + MarkdownDescription: "List of OpenTelemetry Attributes that should be promoted to metric labels, defaults to none.", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + "override_honor_labels": schema.BoolAttribute{ Description: "When true, Prometheus resolves label conflicts by renaming the labels in the scraped data to “exported_” for all targets created from ServiceMonitor, PodMonitor andScrapeConfig objects. Otherwise the HonorLabels field of the service or pod monitor applies.In practice,'overrideHonorLaels:true' enforces 'honorLabels:false'for all ServiceMonitor, PodMonitor and ScrapeConfig objects.", MarkdownDescription: "When true, Prometheus resolves label conflicts by renaming the labels in the scraped data to “exported_” for all targets created from ServiceMonitor, PodMonitor andScrapeConfig objects. Otherwise the HonorLabels field of the service or pod monitor applies.In practice,'overrideHonorLaels:true' enforces 'honorLabels:false'for all ServiceMonitor, PodMonitor and ScrapeConfig objects.", @@ -7658,8 +7679,8 @@ func (r *MonitoringCoreosComPrometheusAgentV1Alpha1Manifest) Schema(_ context.Co }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -7941,8 +7962,8 @@ func (r *MonitoringCoreosComPrometheusAgentV1Alpha1Manifest) Schema(_ context.Co }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/monitoring_coreos_com_v1alpha1/monitoring_coreos_com_scrape_config_v1alpha1_manifest.go b/internal/provider/monitoring_coreos_com_v1alpha1/monitoring_coreos_com_scrape_config_v1alpha1_manifest.go index 5015a6f8b..b2e4e3049 100644 --- a/internal/provider/monitoring_coreos_com_v1alpha1/monitoring_coreos_com_scrape_config_v1alpha1_manifest.go +++ b/internal/provider/monitoring_coreos_com_v1alpha1/monitoring_coreos_com_scrape_config_v1alpha1_manifest.go @@ -740,19 +740,60 @@ type MonitoringCoreosComScrapeConfigV1Alpha1ManifestData struct { Name *string `tfsdk:"name" json:"name,omitempty"` Optional *bool `tfsdk:"optional" json:"optional,omitempty"` } `tfsdk:"access_key" json:"accessKey,omitempty"` - Filters *[]struct { + EnableHTTP2 *bool `tfsdk:"enable_http2" json:"enableHTTP2,omitempty"` + Filters *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Values *[]string `tfsdk:"values" json:"values,omitempty"` } `tfsdk:"filters" json:"filters,omitempty"` - Port *int64 `tfsdk:"port" json:"port,omitempty"` - RefreshInterval *string `tfsdk:"refresh_interval" json:"refreshInterval,omitempty"` - Region *string `tfsdk:"region" json:"region,omitempty"` - RoleARN *string `tfsdk:"role_arn" json:"roleARN,omitempty"` - SecretKey *struct { + FollowRedirects *bool `tfsdk:"follow_redirects" json:"followRedirects,omitempty"` + NoProxy *string `tfsdk:"no_proxy" json:"noProxy,omitempty"` + Port *int64 `tfsdk:"port" json:"port,omitempty"` + ProxyConnectHeader *map[string]string `tfsdk:"proxy_connect_header" json:"proxyConnectHeader,omitempty"` + ProxyFromEnvironment *bool `tfsdk:"proxy_from_environment" json:"proxyFromEnvironment,omitempty"` + ProxyUrl *string `tfsdk:"proxy_url" json:"proxyUrl,omitempty"` + RefreshInterval *string `tfsdk:"refresh_interval" json:"refreshInterval,omitempty"` + Region *string `tfsdk:"region" json:"region,omitempty"` + RoleARN *string `tfsdk:"role_arn" json:"roleARN,omitempty"` + SecretKey *struct { Key *string `tfsdk:"key" json:"key,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` Optional *bool `tfsdk:"optional" json:"optional,omitempty"` } `tfsdk:"secret_key" json:"secretKey,omitempty"` + TlsConfig *struct { + Ca *struct { + ConfigMap *struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Optional *bool `tfsdk:"optional" json:"optional,omitempty"` + } `tfsdk:"config_map" json:"configMap,omitempty"` + Secret *struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Optional *bool `tfsdk:"optional" json:"optional,omitempty"` + } `tfsdk:"secret" json:"secret,omitempty"` + } `tfsdk:"ca" json:"ca,omitempty"` + Cert *struct { + ConfigMap *struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Optional *bool `tfsdk:"optional" json:"optional,omitempty"` + } `tfsdk:"config_map" json:"configMap,omitempty"` + Secret *struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Optional *bool `tfsdk:"optional" json:"optional,omitempty"` + } `tfsdk:"secret" json:"secret,omitempty"` + } `tfsdk:"cert" json:"cert,omitempty"` + InsecureSkipVerify *bool `tfsdk:"insecure_skip_verify" json:"insecureSkipVerify,omitempty"` + KeySecret *struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Optional *bool `tfsdk:"optional" json:"optional,omitempty"` + } `tfsdk:"key_secret" json:"keySecret,omitempty"` + MaxVersion *string `tfsdk:"max_version" json:"maxVersion,omitempty"` + MinVersion *string `tfsdk:"min_version" json:"minVersion,omitempty"` + ServerName *string `tfsdk:"server_name" json:"serverName,omitempty"` + } `tfsdk:"tls_config" json:"tlsConfig,omitempty"` } `tfsdk:"ec2_sd_configs" json:"ec2SDConfigs,omitempty"` EnableCompression *bool `tfsdk:"enable_compression" json:"enableCompression,omitempty"` EurekaSDConfigs *[]struct { @@ -2404,8 +2445,8 @@ func (r *MonitoringCoreosComScrapeConfigV1Alpha1Manifest) Schema(_ context.Conte }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -2687,8 +2728,8 @@ func (r *MonitoringCoreosComScrapeConfigV1Alpha1Manifest) Schema(_ context.Conte }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -3547,8 +3588,8 @@ func (r *MonitoringCoreosComScrapeConfigV1Alpha1Manifest) Schema(_ context.Conte }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -3838,8 +3879,8 @@ func (r *MonitoringCoreosComScrapeConfigV1Alpha1Manifest) Schema(_ context.Conte }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -4402,8 +4443,8 @@ func (r *MonitoringCoreosComScrapeConfigV1Alpha1Manifest) Schema(_ context.Conte }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -4693,8 +4734,8 @@ func (r *MonitoringCoreosComScrapeConfigV1Alpha1Manifest) Schema(_ context.Conte }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -5352,8 +5393,8 @@ func (r *MonitoringCoreosComScrapeConfigV1Alpha1Manifest) Schema(_ context.Conte }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -5643,8 +5684,8 @@ func (r *MonitoringCoreosComScrapeConfigV1Alpha1Manifest) Schema(_ context.Conte }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -6240,8 +6281,8 @@ func (r *MonitoringCoreosComScrapeConfigV1Alpha1Manifest) Schema(_ context.Conte }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -6535,8 +6576,8 @@ func (r *MonitoringCoreosComScrapeConfigV1Alpha1Manifest) Schema(_ context.Conte }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -6841,9 +6882,17 @@ func (r *MonitoringCoreosComScrapeConfigV1Alpha1Manifest) Schema(_ context.Conte Computed: false, }, + "enable_http2": schema.BoolAttribute{ + Description: "Whether to enable HTTP2.It requires Prometheus >= v2.41.0", + MarkdownDescription: "Whether to enable HTTP2.It requires Prometheus >= v2.41.0", + Required: false, + Optional: true, + Computed: false, + }, + "filters": schema.ListNestedAttribute{ - Description: "Filters can be used optionally to filter the instance list by other criteria.Available filter criteria can be found here:https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.htmlFilter API documentation: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Filter.html", - MarkdownDescription: "Filters can be used optionally to filter the instance list by other criteria.Available filter criteria can be found here:https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.htmlFilter API documentation: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Filter.html", + Description: "Filters can be used optionally to filter the instance list by other criteria.Available filter criteria can be found here:https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.htmlFilter API documentation: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Filter.htmlIt requires Prometheus >= v2.3.0", + MarkdownDescription: "Filters can be used optionally to filter the instance list by other criteria.Available filter criteria can be found here:https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.htmlFilter API documentation: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Filter.htmlIt requires Prometheus >= v2.3.0", NestedObject: schema.NestedAttributeObject{ Attributes: map[string]schema.Attribute{ "name": schema.StringAttribute{ @@ -6869,12 +6918,60 @@ func (r *MonitoringCoreosComScrapeConfigV1Alpha1Manifest) Schema(_ context.Conte Computed: false, }, + "follow_redirects": schema.BoolAttribute{ + Description: "Configure whether HTTP requests follow HTTP 3xx redirects.It requires Prometheus >= v2.41.0", + MarkdownDescription: "Configure whether HTTP requests follow HTTP 3xx redirects.It requires Prometheus >= v2.41.0", + Required: false, + Optional: true, + Computed: false, + }, + + "no_proxy": schema.StringAttribute{ + Description: "'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0.", + MarkdownDescription: "'noProxy' is a comma-separated string that can contain IPs, CIDR notation, domain namesthat should be excluded from proxying. IP and domain names cancontain port numbers.It requires Prometheus >= v2.43.0.", + Required: false, + Optional: true, + Computed: false, + }, + "port": schema.Int64Attribute{ Description: "The port to scrape metrics from. If using the public IP address, this mustinstead be specified in the relabeling rule.", MarkdownDescription: "The port to scrape metrics from. If using the public IP address, this mustinstead be specified in the relabeling rule.", Required: false, Optional: true, Computed: false, + Validators: []validator.Int64{ + int64validator.AtLeast(0), + int64validator.AtMost(65535), + }, + }, + + "proxy_connect_header": schema.MapAttribute{ + Description: "ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0.", + MarkdownDescription: "ProxyConnectHeader optionally specifies headers to send toproxies during CONNECT requests.It requires Prometheus >= v2.43.0.", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "proxy_from_environment": schema.BoolAttribute{ + Description: "Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0.", + MarkdownDescription: "Whether to use the proxy configuration defined by environment variables (HTTP_PROXY, HTTPS_PROXY, and NO_PROXY).If unset, Prometheus uses its default value.It requires Prometheus >= v2.43.0.", + Required: false, + Optional: true, + Computed: false, + }, + + "proxy_url": schema.StringAttribute{ + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", + Required: false, + Optional: true, + Computed: false, + Validators: []validator.String{ + stringvalidator.RegexMatches(regexp.MustCompile(`^http(s)?://.+$`), ""), + }, }, "refresh_interval": schema.StringAttribute{ @@ -6889,11 +6986,14 @@ func (r *MonitoringCoreosComScrapeConfigV1Alpha1Manifest) Schema(_ context.Conte }, "region": schema.StringAttribute{ - Description: "The AWS region", - MarkdownDescription: "The AWS region", + Description: "The AWS region.", + MarkdownDescription: "The AWS region.", Required: false, Optional: true, Computed: false, + Validators: []validator.String{ + stringvalidator.LengthAtLeast(1), + }, }, "role_arn": schema.StringAttribute{ @@ -6902,6 +7002,9 @@ func (r *MonitoringCoreosComScrapeConfigV1Alpha1Manifest) Schema(_ context.Conte Required: false, Optional: true, Computed: false, + Validators: []validator.String{ + stringvalidator.LengthAtLeast(1), + }, }, "secret_key": schema.SingleNestedAttribute{ @@ -6936,6 +7039,236 @@ func (r *MonitoringCoreosComScrapeConfigV1Alpha1Manifest) Schema(_ context.Conte Optional: true, Computed: false, }, + + "tls_config": schema.SingleNestedAttribute{ + Description: "TLS configuration to connect to the AWS EC2 API.It requires Prometheus >= v2.41.0", + MarkdownDescription: "TLS configuration to connect to the AWS EC2 API.It requires Prometheus >= v2.41.0", + Attributes: map[string]schema.Attribute{ + "ca": schema.SingleNestedAttribute{ + Description: "Certificate authority used when verifying server certificates.", + MarkdownDescription: "Certificate authority used when verifying server certificates.", + Attributes: map[string]schema.Attribute{ + "config_map": schema.SingleNestedAttribute{ + Description: "ConfigMap containing data to use for the targets.", + MarkdownDescription: "ConfigMap containing data to use for the targets.", + Attributes: map[string]schema.Attribute{ + "key": schema.StringAttribute{ + Description: "The key to select.", + MarkdownDescription: "The key to select.", + Required: true, + Optional: false, + Computed: false, + }, + + "name": schema.StringAttribute{ + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + Required: false, + Optional: true, + Computed: false, + }, + + "optional": schema.BoolAttribute{ + Description: "Specify whether the ConfigMap or its key must be defined", + MarkdownDescription: "Specify whether the ConfigMap or its key must be defined", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "secret": schema.SingleNestedAttribute{ + Description: "Secret containing data to use for the targets.", + MarkdownDescription: "Secret containing data to use for the targets.", + Attributes: map[string]schema.Attribute{ + "key": schema.StringAttribute{ + Description: "The key of the secret to select from. Must be a valid secret key.", + MarkdownDescription: "The key of the secret to select from. Must be a valid secret key.", + Required: true, + Optional: false, + Computed: false, + }, + + "name": schema.StringAttribute{ + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + Required: false, + Optional: true, + Computed: false, + }, + + "optional": schema.BoolAttribute{ + Description: "Specify whether the Secret or its key must be defined", + MarkdownDescription: "Specify whether the Secret or its key must be defined", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "cert": schema.SingleNestedAttribute{ + Description: "Client certificate to present when doing client-authentication.", + MarkdownDescription: "Client certificate to present when doing client-authentication.", + Attributes: map[string]schema.Attribute{ + "config_map": schema.SingleNestedAttribute{ + Description: "ConfigMap containing data to use for the targets.", + MarkdownDescription: "ConfigMap containing data to use for the targets.", + Attributes: map[string]schema.Attribute{ + "key": schema.StringAttribute{ + Description: "The key to select.", + MarkdownDescription: "The key to select.", + Required: true, + Optional: false, + Computed: false, + }, + + "name": schema.StringAttribute{ + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + Required: false, + Optional: true, + Computed: false, + }, + + "optional": schema.BoolAttribute{ + Description: "Specify whether the ConfigMap or its key must be defined", + MarkdownDescription: "Specify whether the ConfigMap or its key must be defined", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "secret": schema.SingleNestedAttribute{ + Description: "Secret containing data to use for the targets.", + MarkdownDescription: "Secret containing data to use for the targets.", + Attributes: map[string]schema.Attribute{ + "key": schema.StringAttribute{ + Description: "The key of the secret to select from. Must be a valid secret key.", + MarkdownDescription: "The key of the secret to select from. Must be a valid secret key.", + Required: true, + Optional: false, + Computed: false, + }, + + "name": schema.StringAttribute{ + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + Required: false, + Optional: true, + Computed: false, + }, + + "optional": schema.BoolAttribute{ + Description: "Specify whether the Secret or its key must be defined", + MarkdownDescription: "Specify whether the Secret or its key must be defined", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "insecure_skip_verify": schema.BoolAttribute{ + Description: "Disable target certificate validation.", + MarkdownDescription: "Disable target certificate validation.", + Required: false, + Optional: true, + Computed: false, + }, + + "key_secret": schema.SingleNestedAttribute{ + Description: "Secret containing the client key file for the targets.", + MarkdownDescription: "Secret containing the client key file for the targets.", + Attributes: map[string]schema.Attribute{ + "key": schema.StringAttribute{ + Description: "The key of the secret to select from. Must be a valid secret key.", + MarkdownDescription: "The key of the secret to select from. Must be a valid secret key.", + Required: true, + Optional: false, + Computed: false, + }, + + "name": schema.StringAttribute{ + Description: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + MarkdownDescription: "Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Drop 'kubebuilder:default' when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.", + Required: false, + Optional: true, + Computed: false, + }, + + "optional": schema.BoolAttribute{ + Description: "Specify whether the Secret or its key must be defined", + MarkdownDescription: "Specify whether the Secret or its key must be defined", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "max_version": schema.StringAttribute{ + Description: "Maximum acceptable TLS version.It requires Prometheus >= v2.41.0.", + MarkdownDescription: "Maximum acceptable TLS version.It requires Prometheus >= v2.41.0.", + Required: false, + Optional: true, + Computed: false, + Validators: []validator.String{ + stringvalidator.OneOf("TLS10", "TLS11", "TLS12", "TLS13"), + }, + }, + + "min_version": schema.StringAttribute{ + Description: "Minimum acceptable TLS version.It requires Prometheus >= v2.35.0.", + MarkdownDescription: "Minimum acceptable TLS version.It requires Prometheus >= v2.35.0.", + Required: false, + Optional: true, + Computed: false, + Validators: []validator.String{ + stringvalidator.OneOf("TLS10", "TLS11", "TLS12", "TLS13"), + }, + }, + + "server_name": schema.StringAttribute{ + Description: "Used to verify the hostname for the targets.", + MarkdownDescription: "Used to verify the hostname for the targets.", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, }, }, Required: false, @@ -7252,8 +7585,8 @@ func (r *MonitoringCoreosComScrapeConfigV1Alpha1Manifest) Schema(_ context.Conte }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -7535,8 +7868,8 @@ func (r *MonitoringCoreosComScrapeConfigV1Alpha1Manifest) Schema(_ context.Conte }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -8203,8 +8536,8 @@ func (r *MonitoringCoreosComScrapeConfigV1Alpha1Manifest) Schema(_ context.Conte }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -8494,8 +8827,8 @@ func (r *MonitoringCoreosComScrapeConfigV1Alpha1Manifest) Schema(_ context.Conte }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -8934,8 +9267,8 @@ func (r *MonitoringCoreosComScrapeConfigV1Alpha1Manifest) Schema(_ context.Conte }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -9577,8 +9910,8 @@ func (r *MonitoringCoreosComScrapeConfigV1Alpha1Manifest) Schema(_ context.Conte }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -9860,8 +10193,8 @@ func (r *MonitoringCoreosComScrapeConfigV1Alpha1Manifest) Schema(_ context.Conte }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -10481,8 +10814,8 @@ func (r *MonitoringCoreosComScrapeConfigV1Alpha1Manifest) Schema(_ context.Conte }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -10764,8 +11097,8 @@ func (r *MonitoringCoreosComScrapeConfigV1Alpha1Manifest) Schema(_ context.Conte }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -11401,8 +11734,8 @@ func (r *MonitoringCoreosComScrapeConfigV1Alpha1Manifest) Schema(_ context.Conte }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -11696,8 +12029,8 @@ func (r *MonitoringCoreosComScrapeConfigV1Alpha1Manifest) Schema(_ context.Conte }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -12231,8 +12564,8 @@ func (r *MonitoringCoreosComScrapeConfigV1Alpha1Manifest) Schema(_ context.Conte }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -12526,8 +12859,8 @@ func (r *MonitoringCoreosComScrapeConfigV1Alpha1Manifest) Schema(_ context.Conte }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -13039,8 +13372,8 @@ func (r *MonitoringCoreosComScrapeConfigV1Alpha1Manifest) Schema(_ context.Conte }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -13888,8 +14221,8 @@ func (r *MonitoringCoreosComScrapeConfigV1Alpha1Manifest) Schema(_ context.Conte }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -14207,8 +14540,8 @@ func (r *MonitoringCoreosComScrapeConfigV1Alpha1Manifest) Schema(_ context.Conte }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -14502,8 +14835,8 @@ func (r *MonitoringCoreosComScrapeConfigV1Alpha1Manifest) Schema(_ context.Conte }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -14964,8 +15297,8 @@ func (r *MonitoringCoreosComScrapeConfigV1Alpha1Manifest) Schema(_ context.Conte }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/monitoring_coreos_com_v1beta1/monitoring_coreos_com_alertmanager_config_v1beta1_manifest.go b/internal/provider/monitoring_coreos_com_v1beta1/monitoring_coreos_com_alertmanager_config_v1beta1_manifest.go index deef58078..1292f6e36 100644 --- a/internal/provider/monitoring_coreos_com_v1beta1/monitoring_coreos_com_alertmanager_config_v1beta1_manifest.go +++ b/internal/provider/monitoring_coreos_com_v1beta1/monitoring_coreos_com_alertmanager_config_v1beta1_manifest.go @@ -2412,8 +2412,8 @@ func (r *MonitoringCoreosComAlertmanagerConfigV1Beta1Manifest) Schema(_ context. }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -3683,8 +3683,8 @@ func (r *MonitoringCoreosComAlertmanagerConfigV1Beta1Manifest) Schema(_ context. }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -4686,8 +4686,8 @@ func (r *MonitoringCoreosComAlertmanagerConfigV1Beta1Manifest) Schema(_ context. }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -5693,8 +5693,8 @@ func (r *MonitoringCoreosComAlertmanagerConfigV1Beta1Manifest) Schema(_ context. }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -6710,8 +6710,8 @@ func (r *MonitoringCoreosComAlertmanagerConfigV1Beta1Manifest) Schema(_ context. }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -7921,8 +7921,8 @@ func (r *MonitoringCoreosComAlertmanagerConfigV1Beta1Manifest) Schema(_ context. }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -8877,8 +8877,8 @@ func (r *MonitoringCoreosComAlertmanagerConfigV1Beta1Manifest) Schema(_ context. }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -9921,8 +9921,8 @@ func (r *MonitoringCoreosComAlertmanagerConfigV1Beta1Manifest) Schema(_ context. }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -10859,8 +10859,8 @@ func (r *MonitoringCoreosComAlertmanagerConfigV1Beta1Manifest) Schema(_ context. }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -11744,8 +11744,8 @@ func (r *MonitoringCoreosComAlertmanagerConfigV1Beta1Manifest) Schema(_ context. }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -12605,8 +12605,8 @@ func (r *MonitoringCoreosComAlertmanagerConfigV1Beta1Manifest) Schema(_ context. }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, @@ -13552,8 +13552,8 @@ func (r *MonitoringCoreosComAlertmanagerConfigV1Beta1Manifest) Schema(_ context. }, "proxy_url": schema.StringAttribute{ - Description: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", - MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.It requires Prometheus >= v2.43.0.", + Description: "'proxyURL' defines the HTTP proxy server to use.", + MarkdownDescription: "'proxyURL' defines the HTTP proxy server to use.", Required: false, Optional: true, Computed: false, diff --git a/internal/provider/org_eclipse_che_v2/org_eclipse_che_che_cluster_v2_manifest.go b/internal/provider/org_eclipse_che_v2/org_eclipse_che_che_cluster_v2_manifest.go index 8e90e8938..8f2790c5b 100644 --- a/internal/provider/org_eclipse_che_v2/org_eclipse_che_che_cluster_v2_manifest.go +++ b/internal/provider/org_eclipse_che_v2/org_eclipse_che_che_cluster_v2_manifest.go @@ -608,7 +608,8 @@ type OrgEclipseCheCheClusterV2ManifestData struct { MaxNumberOfWorkspacesPerUser *int64 `tfsdk:"max_number_of_workspaces_per_user" json:"maxNumberOfWorkspacesPerUser,omitempty"` NodeSelector *map[string]string `tfsdk:"node_selector" json:"nodeSelector,omitempty"` PersistUserHome *struct { - Enabled *bool `tfsdk:"enabled" json:"enabled,omitempty"` + DisableInitContainer *bool `tfsdk:"disable_init_container" json:"disableInitContainer,omitempty"` + Enabled *bool `tfsdk:"enabled" json:"enabled,omitempty"` } `tfsdk:"persist_user_home" json:"persistUserHome,omitempty"` PodSchedulerName *string `tfsdk:"pod_scheduler_name" json:"podSchedulerName,omitempty"` ProjectCloneContainer *struct { @@ -4830,6 +4831,14 @@ func (r *OrgEclipseCheCheClusterV2Manifest) Schema(_ context.Context, _ datasour Description: "PersistUserHome defines configuration options for persisting theuser home directory in workspaces.", MarkdownDescription: "PersistUserHome defines configuration options for persisting theuser home directory in workspaces.", Attributes: map[string]schema.Attribute{ + "disable_init_container": schema.BoolAttribute{ + Description: "Determines whether the init container that initializes the persistent home directory should be disabled.When the '/home/user' directory is persisted, the init container is used to initialize the directory beforethe workspace starts. If set to true, the init container will not be created.Disabling the init container allows home persistence to be initialized by the entrypoint present in the workspace's first container component.This field is not used if the 'devEnvironments.persistUserHome.enabled' field is set to false.The init container is enabled by default.", + MarkdownDescription: "Determines whether the init container that initializes the persistent home directory should be disabled.When the '/home/user' directory is persisted, the init container is used to initialize the directory beforethe workspace starts. If set to true, the init container will not be created.Disabling the init container allows home persistence to be initialized by the entrypoint present in the workspace's first container component.This field is not used if the 'devEnvironments.persistUserHome.enabled' field is set to false.The init container is enabled by default.", + Required: false, + Optional: true, + Computed: false, + }, + "enabled": schema.BoolAttribute{ Description: "Determines whether the user home directory in workspaces should persist betweenworkspace shutdown and startup.Must be used with the 'per-user' or 'per-workspace' PVC strategy in order to take effect.Disabled by default.", MarkdownDescription: "Determines whether the user home directory in workspaces should persist betweenworkspace shutdown and startup.Must be used with the 'per-user' or 'per-workspace' PVC strategy in order to take effect.Disabled by default.", diff --git a/internal/provider/ps_percona_com_v1alpha1/ps_percona_com_percona_server_my_sql_v1alpha1_manifest.go b/internal/provider/ps_percona_com_v1alpha1/ps_percona_com_percona_server_my_sql_v1alpha1_manifest.go index 54c0ca343..4fafc1de8 100644 --- a/internal/provider/ps_percona_com_v1alpha1/ps_percona_com_percona_server_my_sql_v1alpha1_manifest.go +++ b/internal/provider/ps_percona_com_v1alpha1/ps_percona_com_percona_server_my_sql_v1alpha1_manifest.go @@ -85,6 +85,435 @@ type PsPerconaComPerconaServerMySqlV1Alpha1ManifestData struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"image_pull_secrets" json:"imagePullSecrets,omitempty"` InitImage *string `tfsdk:"init_image" json:"initImage,omitempty"` + Pitr *struct { + BinlogServer *struct { + Affinity *struct { + Advanced *struct { + NodeAffinity *struct { + PreferredDuringSchedulingIgnoredDuringExecution *[]struct { + Preference *struct { + MatchExpressions *[]struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Operator *string `tfsdk:"operator" json:"operator,omitempty"` + Values *[]string `tfsdk:"values" json:"values,omitempty"` + } `tfsdk:"match_expressions" json:"matchExpressions,omitempty"` + MatchFields *[]struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Operator *string `tfsdk:"operator" json:"operator,omitempty"` + Values *[]string `tfsdk:"values" json:"values,omitempty"` + } `tfsdk:"match_fields" json:"matchFields,omitempty"` + } `tfsdk:"preference" json:"preference,omitempty"` + Weight *int64 `tfsdk:"weight" json:"weight,omitempty"` + } `tfsdk:"preferred_during_scheduling_ignored_during_execution" json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"` + RequiredDuringSchedulingIgnoredDuringExecution *struct { + NodeSelectorTerms *[]struct { + MatchExpressions *[]struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Operator *string `tfsdk:"operator" json:"operator,omitempty"` + Values *[]string `tfsdk:"values" json:"values,omitempty"` + } `tfsdk:"match_expressions" json:"matchExpressions,omitempty"` + MatchFields *[]struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Operator *string `tfsdk:"operator" json:"operator,omitempty"` + Values *[]string `tfsdk:"values" json:"values,omitempty"` + } `tfsdk:"match_fields" json:"matchFields,omitempty"` + } `tfsdk:"node_selector_terms" json:"nodeSelectorTerms,omitempty"` + } `tfsdk:"required_during_scheduling_ignored_during_execution" json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"` + } `tfsdk:"node_affinity" json:"nodeAffinity,omitempty"` + PodAffinity *struct { + PreferredDuringSchedulingIgnoredDuringExecution *[]struct { + PodAffinityTerm *struct { + LabelSelector *struct { + MatchExpressions *[]struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Operator *string `tfsdk:"operator" json:"operator,omitempty"` + Values *[]string `tfsdk:"values" json:"values,omitempty"` + } `tfsdk:"match_expressions" json:"matchExpressions,omitempty"` + MatchLabels *map[string]string `tfsdk:"match_labels" json:"matchLabels,omitempty"` + } `tfsdk:"label_selector" json:"labelSelector,omitempty"` + MatchLabelKeys *[]string `tfsdk:"match_label_keys" json:"matchLabelKeys,omitempty"` + MismatchLabelKeys *[]string `tfsdk:"mismatch_label_keys" json:"mismatchLabelKeys,omitempty"` + NamespaceSelector *struct { + MatchExpressions *[]struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Operator *string `tfsdk:"operator" json:"operator,omitempty"` + Values *[]string `tfsdk:"values" json:"values,omitempty"` + } `tfsdk:"match_expressions" json:"matchExpressions,omitempty"` + MatchLabels *map[string]string `tfsdk:"match_labels" json:"matchLabels,omitempty"` + } `tfsdk:"namespace_selector" json:"namespaceSelector,omitempty"` + Namespaces *[]string `tfsdk:"namespaces" json:"namespaces,omitempty"` + TopologyKey *string `tfsdk:"topology_key" json:"topologyKey,omitempty"` + } `tfsdk:"pod_affinity_term" json:"podAffinityTerm,omitempty"` + Weight *int64 `tfsdk:"weight" json:"weight,omitempty"` + } `tfsdk:"preferred_during_scheduling_ignored_during_execution" json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"` + RequiredDuringSchedulingIgnoredDuringExecution *[]struct { + LabelSelector *struct { + MatchExpressions *[]struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Operator *string `tfsdk:"operator" json:"operator,omitempty"` + Values *[]string `tfsdk:"values" json:"values,omitempty"` + } `tfsdk:"match_expressions" json:"matchExpressions,omitempty"` + MatchLabels *map[string]string `tfsdk:"match_labels" json:"matchLabels,omitempty"` + } `tfsdk:"label_selector" json:"labelSelector,omitempty"` + MatchLabelKeys *[]string `tfsdk:"match_label_keys" json:"matchLabelKeys,omitempty"` + MismatchLabelKeys *[]string `tfsdk:"mismatch_label_keys" json:"mismatchLabelKeys,omitempty"` + NamespaceSelector *struct { + MatchExpressions *[]struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Operator *string `tfsdk:"operator" json:"operator,omitempty"` + Values *[]string `tfsdk:"values" json:"values,omitempty"` + } `tfsdk:"match_expressions" json:"matchExpressions,omitempty"` + MatchLabels *map[string]string `tfsdk:"match_labels" json:"matchLabels,omitempty"` + } `tfsdk:"namespace_selector" json:"namespaceSelector,omitempty"` + Namespaces *[]string `tfsdk:"namespaces" json:"namespaces,omitempty"` + TopologyKey *string `tfsdk:"topology_key" json:"topologyKey,omitempty"` + } `tfsdk:"required_during_scheduling_ignored_during_execution" json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"` + } `tfsdk:"pod_affinity" json:"podAffinity,omitempty"` + PodAntiAffinity *struct { + PreferredDuringSchedulingIgnoredDuringExecution *[]struct { + PodAffinityTerm *struct { + LabelSelector *struct { + MatchExpressions *[]struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Operator *string `tfsdk:"operator" json:"operator,omitempty"` + Values *[]string `tfsdk:"values" json:"values,omitempty"` + } `tfsdk:"match_expressions" json:"matchExpressions,omitempty"` + MatchLabels *map[string]string `tfsdk:"match_labels" json:"matchLabels,omitempty"` + } `tfsdk:"label_selector" json:"labelSelector,omitempty"` + MatchLabelKeys *[]string `tfsdk:"match_label_keys" json:"matchLabelKeys,omitempty"` + MismatchLabelKeys *[]string `tfsdk:"mismatch_label_keys" json:"mismatchLabelKeys,omitempty"` + NamespaceSelector *struct { + MatchExpressions *[]struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Operator *string `tfsdk:"operator" json:"operator,omitempty"` + Values *[]string `tfsdk:"values" json:"values,omitempty"` + } `tfsdk:"match_expressions" json:"matchExpressions,omitempty"` + MatchLabels *map[string]string `tfsdk:"match_labels" json:"matchLabels,omitempty"` + } `tfsdk:"namespace_selector" json:"namespaceSelector,omitempty"` + Namespaces *[]string `tfsdk:"namespaces" json:"namespaces,omitempty"` + TopologyKey *string `tfsdk:"topology_key" json:"topologyKey,omitempty"` + } `tfsdk:"pod_affinity_term" json:"podAffinityTerm,omitempty"` + Weight *int64 `tfsdk:"weight" json:"weight,omitempty"` + } `tfsdk:"preferred_during_scheduling_ignored_during_execution" json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"` + RequiredDuringSchedulingIgnoredDuringExecution *[]struct { + LabelSelector *struct { + MatchExpressions *[]struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Operator *string `tfsdk:"operator" json:"operator,omitempty"` + Values *[]string `tfsdk:"values" json:"values,omitempty"` + } `tfsdk:"match_expressions" json:"matchExpressions,omitempty"` + MatchLabels *map[string]string `tfsdk:"match_labels" json:"matchLabels,omitempty"` + } `tfsdk:"label_selector" json:"labelSelector,omitempty"` + MatchLabelKeys *[]string `tfsdk:"match_label_keys" json:"matchLabelKeys,omitempty"` + MismatchLabelKeys *[]string `tfsdk:"mismatch_label_keys" json:"mismatchLabelKeys,omitempty"` + NamespaceSelector *struct { + MatchExpressions *[]struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Operator *string `tfsdk:"operator" json:"operator,omitempty"` + Values *[]string `tfsdk:"values" json:"values,omitempty"` + } `tfsdk:"match_expressions" json:"matchExpressions,omitempty"` + MatchLabels *map[string]string `tfsdk:"match_labels" json:"matchLabels,omitempty"` + } `tfsdk:"namespace_selector" json:"namespaceSelector,omitempty"` + Namespaces *[]string `tfsdk:"namespaces" json:"namespaces,omitempty"` + TopologyKey *string `tfsdk:"topology_key" json:"topologyKey,omitempty"` + } `tfsdk:"required_during_scheduling_ignored_during_execution" json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"` + } `tfsdk:"pod_anti_affinity" json:"podAntiAffinity,omitempty"` + } `tfsdk:"advanced" json:"advanced,omitempty"` + AntiAffinityTopologyKey *string `tfsdk:"anti_affinity_topology_key" json:"antiAffinityTopologyKey,omitempty"` + } `tfsdk:"affinity" json:"affinity,omitempty"` + Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"` + Configuration *string `tfsdk:"configuration" json:"configuration,omitempty"` + ConnectTimeout *int64 `tfsdk:"connect_timeout" json:"connectTimeout,omitempty"` + ContainerSecurityContext *struct { + AllowPrivilegeEscalation *bool `tfsdk:"allow_privilege_escalation" json:"allowPrivilegeEscalation,omitempty"` + AppArmorProfile *struct { + LocalhostProfile *string `tfsdk:"localhost_profile" json:"localhostProfile,omitempty"` + Type *string `tfsdk:"type" json:"type,omitempty"` + } `tfsdk:"app_armor_profile" json:"appArmorProfile,omitempty"` + Capabilities *struct { + Add *[]string `tfsdk:"add" json:"add,omitempty"` + Drop *[]string `tfsdk:"drop" json:"drop,omitempty"` + } `tfsdk:"capabilities" json:"capabilities,omitempty"` + Privileged *bool `tfsdk:"privileged" json:"privileged,omitempty"` + ProcMount *string `tfsdk:"proc_mount" json:"procMount,omitempty"` + ReadOnlyRootFilesystem *bool `tfsdk:"read_only_root_filesystem" json:"readOnlyRootFilesystem,omitempty"` + RunAsGroup *int64 `tfsdk:"run_as_group" json:"runAsGroup,omitempty"` + RunAsNonRoot *bool `tfsdk:"run_as_non_root" json:"runAsNonRoot,omitempty"` + RunAsUser *int64 `tfsdk:"run_as_user" json:"runAsUser,omitempty"` + SeLinuxOptions *struct { + Level *string `tfsdk:"level" json:"level,omitempty"` + Role *string `tfsdk:"role" json:"role,omitempty"` + Type *string `tfsdk:"type" json:"type,omitempty"` + User *string `tfsdk:"user" json:"user,omitempty"` + } `tfsdk:"se_linux_options" json:"seLinuxOptions,omitempty"` + SeccompProfile *struct { + LocalhostProfile *string `tfsdk:"localhost_profile" json:"localhostProfile,omitempty"` + Type *string `tfsdk:"type" json:"type,omitempty"` + } `tfsdk:"seccomp_profile" json:"seccompProfile,omitempty"` + WindowsOptions *struct { + GmsaCredentialSpec *string `tfsdk:"gmsa_credential_spec" json:"gmsaCredentialSpec,omitempty"` + GmsaCredentialSpecName *string `tfsdk:"gmsa_credential_spec_name" json:"gmsaCredentialSpecName,omitempty"` + HostProcess *bool `tfsdk:"host_process" json:"hostProcess,omitempty"` + RunAsUserName *string `tfsdk:"run_as_user_name" json:"runAsUserName,omitempty"` + } `tfsdk:"windows_options" json:"windowsOptions,omitempty"` + } `tfsdk:"container_security_context" json:"containerSecurityContext,omitempty"` + Env *[]struct { + Name *string `tfsdk:"name" json:"name,omitempty"` + Value *string `tfsdk:"value" json:"value,omitempty"` + ValueFrom *struct { + ConfigMapKeyRef *struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Optional *bool `tfsdk:"optional" json:"optional,omitempty"` + } `tfsdk:"config_map_key_ref" json:"configMapKeyRef,omitempty"` + FieldRef *struct { + ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"` + FieldPath *string `tfsdk:"field_path" json:"fieldPath,omitempty"` + } `tfsdk:"field_ref" json:"fieldRef,omitempty"` + ResourceFieldRef *struct { + ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"` + Divisor *string `tfsdk:"divisor" json:"divisor,omitempty"` + Resource *string `tfsdk:"resource" json:"resource,omitempty"` + } `tfsdk:"resource_field_ref" json:"resourceFieldRef,omitempty"` + SecretKeyRef *struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Optional *bool `tfsdk:"optional" json:"optional,omitempty"` + } `tfsdk:"secret_key_ref" json:"secretKeyRef,omitempty"` + } `tfsdk:"value_from" json:"valueFrom,omitempty"` + } `tfsdk:"env" json:"env,omitempty"` + EnvFrom *[]struct { + ConfigMapRef *struct { + Name *string `tfsdk:"name" json:"name,omitempty"` + Optional *bool `tfsdk:"optional" json:"optional,omitempty"` + } `tfsdk:"config_map_ref" json:"configMapRef,omitempty"` + Prefix *string `tfsdk:"prefix" json:"prefix,omitempty"` + SecretRef *struct { + Name *string `tfsdk:"name" json:"name,omitempty"` + Optional *bool `tfsdk:"optional" json:"optional,omitempty"` + } `tfsdk:"secret_ref" json:"secretRef,omitempty"` + } `tfsdk:"env_from" json:"envFrom,omitempty"` + GracePeriod *int64 `tfsdk:"grace_period" json:"gracePeriod,omitempty"` + IdleTime *int64 `tfsdk:"idle_time" json:"idleTime,omitempty"` + Image *string `tfsdk:"image" json:"image,omitempty"` + ImagePullPolicy *string `tfsdk:"image_pull_policy" json:"imagePullPolicy,omitempty"` + ImagePullSecrets *[]struct { + Name *string `tfsdk:"name" json:"name,omitempty"` + } `tfsdk:"image_pull_secrets" json:"imagePullSecrets,omitempty"` + InitImage *string `tfsdk:"init_image" json:"initImage,omitempty"` + Labels *map[string]string `tfsdk:"labels" json:"labels,omitempty"` + LivenessProbe *struct { + Exec *struct { + Command *[]string `tfsdk:"command" json:"command,omitempty"` + } `tfsdk:"exec" json:"exec,omitempty"` + FailureThreshold *int64 `tfsdk:"failure_threshold" json:"failureThreshold,omitempty"` + Grpc *struct { + Port *int64 `tfsdk:"port" json:"port,omitempty"` + Service *string `tfsdk:"service" json:"service,omitempty"` + } `tfsdk:"grpc" json:"grpc,omitempty"` + HttpGet *struct { + Host *string `tfsdk:"host" json:"host,omitempty"` + HttpHeaders *[]struct { + Name *string `tfsdk:"name" json:"name,omitempty"` + Value *string `tfsdk:"value" json:"value,omitempty"` + } `tfsdk:"http_headers" json:"httpHeaders,omitempty"` + Path *string `tfsdk:"path" json:"path,omitempty"` + Port *string `tfsdk:"port" json:"port,omitempty"` + Scheme *string `tfsdk:"scheme" json:"scheme,omitempty"` + } `tfsdk:"http_get" json:"httpGet,omitempty"` + InitialDelaySeconds *int64 `tfsdk:"initial_delay_seconds" json:"initialDelaySeconds,omitempty"` + PeriodSeconds *int64 `tfsdk:"period_seconds" json:"periodSeconds,omitempty"` + SuccessThreshold *int64 `tfsdk:"success_threshold" json:"successThreshold,omitempty"` + TcpSocket *struct { + Host *string `tfsdk:"host" json:"host,omitempty"` + Port *string `tfsdk:"port" json:"port,omitempty"` + } `tfsdk:"tcp_socket" json:"tcpSocket,omitempty"` + TerminationGracePeriodSeconds *int64 `tfsdk:"termination_grace_period_seconds" json:"terminationGracePeriodSeconds,omitempty"` + TimeoutSeconds *int64 `tfsdk:"timeout_seconds" json:"timeoutSeconds,omitempty"` + } `tfsdk:"liveness_probe" json:"livenessProbe,omitempty"` + NodeSelector *map[string]string `tfsdk:"node_selector" json:"nodeSelector,omitempty"` + PodSecurityContext *struct { + AppArmorProfile *struct { + LocalhostProfile *string `tfsdk:"localhost_profile" json:"localhostProfile,omitempty"` + Type *string `tfsdk:"type" json:"type,omitempty"` + } `tfsdk:"app_armor_profile" json:"appArmorProfile,omitempty"` + FsGroup *int64 `tfsdk:"fs_group" json:"fsGroup,omitempty"` + FsGroupChangePolicy *string `tfsdk:"fs_group_change_policy" json:"fsGroupChangePolicy,omitempty"` + RunAsGroup *int64 `tfsdk:"run_as_group" json:"runAsGroup,omitempty"` + RunAsNonRoot *bool `tfsdk:"run_as_non_root" json:"runAsNonRoot,omitempty"` + RunAsUser *int64 `tfsdk:"run_as_user" json:"runAsUser,omitempty"` + SeLinuxOptions *struct { + Level *string `tfsdk:"level" json:"level,omitempty"` + Role *string `tfsdk:"role" json:"role,omitempty"` + Type *string `tfsdk:"type" json:"type,omitempty"` + User *string `tfsdk:"user" json:"user,omitempty"` + } `tfsdk:"se_linux_options" json:"seLinuxOptions,omitempty"` + SeccompProfile *struct { + LocalhostProfile *string `tfsdk:"localhost_profile" json:"localhostProfile,omitempty"` + Type *string `tfsdk:"type" json:"type,omitempty"` + } `tfsdk:"seccomp_profile" json:"seccompProfile,omitempty"` + SupplementalGroups *[]string `tfsdk:"supplemental_groups" json:"supplementalGroups,omitempty"` + Sysctls *[]struct { + Name *string `tfsdk:"name" json:"name,omitempty"` + Value *string `tfsdk:"value" json:"value,omitempty"` + } `tfsdk:"sysctls" json:"sysctls,omitempty"` + WindowsOptions *struct { + GmsaCredentialSpec *string `tfsdk:"gmsa_credential_spec" json:"gmsaCredentialSpec,omitempty"` + GmsaCredentialSpecName *string `tfsdk:"gmsa_credential_spec_name" json:"gmsaCredentialSpecName,omitempty"` + HostProcess *bool `tfsdk:"host_process" json:"hostProcess,omitempty"` + RunAsUserName *string `tfsdk:"run_as_user_name" json:"runAsUserName,omitempty"` + } `tfsdk:"windows_options" json:"windowsOptions,omitempty"` + } `tfsdk:"pod_security_context" json:"podSecurityContext,omitempty"` + PriorityClassName *string `tfsdk:"priority_class_name" json:"priorityClassName,omitempty"` + ReadTimeout *int64 `tfsdk:"read_timeout" json:"readTimeout,omitempty"` + ReadinessProbe *struct { + Exec *struct { + Command *[]string `tfsdk:"command" json:"command,omitempty"` + } `tfsdk:"exec" json:"exec,omitempty"` + FailureThreshold *int64 `tfsdk:"failure_threshold" json:"failureThreshold,omitempty"` + Grpc *struct { + Port *int64 `tfsdk:"port" json:"port,omitempty"` + Service *string `tfsdk:"service" json:"service,omitempty"` + } `tfsdk:"grpc" json:"grpc,omitempty"` + HttpGet *struct { + Host *string `tfsdk:"host" json:"host,omitempty"` + HttpHeaders *[]struct { + Name *string `tfsdk:"name" json:"name,omitempty"` + Value *string `tfsdk:"value" json:"value,omitempty"` + } `tfsdk:"http_headers" json:"httpHeaders,omitempty"` + Path *string `tfsdk:"path" json:"path,omitempty"` + Port *string `tfsdk:"port" json:"port,omitempty"` + Scheme *string `tfsdk:"scheme" json:"scheme,omitempty"` + } `tfsdk:"http_get" json:"httpGet,omitempty"` + InitialDelaySeconds *int64 `tfsdk:"initial_delay_seconds" json:"initialDelaySeconds,omitempty"` + PeriodSeconds *int64 `tfsdk:"period_seconds" json:"periodSeconds,omitempty"` + SuccessThreshold *int64 `tfsdk:"success_threshold" json:"successThreshold,omitempty"` + TcpSocket *struct { + Host *string `tfsdk:"host" json:"host,omitempty"` + Port *string `tfsdk:"port" json:"port,omitempty"` + } `tfsdk:"tcp_socket" json:"tcpSocket,omitempty"` + TerminationGracePeriodSeconds *int64 `tfsdk:"termination_grace_period_seconds" json:"terminationGracePeriodSeconds,omitempty"` + TimeoutSeconds *int64 `tfsdk:"timeout_seconds" json:"timeoutSeconds,omitempty"` + } `tfsdk:"readiness_probe" json:"readinessProbe,omitempty"` + Resources *struct { + Claims *[]struct { + Name *string `tfsdk:"name" json:"name,omitempty"` + } `tfsdk:"claims" json:"claims,omitempty"` + Limits *map[string]string `tfsdk:"limits" json:"limits,omitempty"` + Requests *map[string]string `tfsdk:"requests" json:"requests,omitempty"` + } `tfsdk:"resources" json:"resources,omitempty"` + RuntimeClassName *string `tfsdk:"runtime_class_name" json:"runtimeClassName,omitempty"` + SchedulerName *string `tfsdk:"scheduler_name" json:"schedulerName,omitempty"` + ServerId *int64 `tfsdk:"server_id" json:"serverId,omitempty"` + ServiceAccountName *string `tfsdk:"service_account_name" json:"serviceAccountName,omitempty"` + Size *int64 `tfsdk:"size" json:"size,omitempty"` + StartupProbe *struct { + Exec *struct { + Command *[]string `tfsdk:"command" json:"command,omitempty"` + } `tfsdk:"exec" json:"exec,omitempty"` + FailureThreshold *int64 `tfsdk:"failure_threshold" json:"failureThreshold,omitempty"` + Grpc *struct { + Port *int64 `tfsdk:"port" json:"port,omitempty"` + Service *string `tfsdk:"service" json:"service,omitempty"` + } `tfsdk:"grpc" json:"grpc,omitempty"` + HttpGet *struct { + Host *string `tfsdk:"host" json:"host,omitempty"` + HttpHeaders *[]struct { + Name *string `tfsdk:"name" json:"name,omitempty"` + Value *string `tfsdk:"value" json:"value,omitempty"` + } `tfsdk:"http_headers" json:"httpHeaders,omitempty"` + Path *string `tfsdk:"path" json:"path,omitempty"` + Port *string `tfsdk:"port" json:"port,omitempty"` + Scheme *string `tfsdk:"scheme" json:"scheme,omitempty"` + } `tfsdk:"http_get" json:"httpGet,omitempty"` + InitialDelaySeconds *int64 `tfsdk:"initial_delay_seconds" json:"initialDelaySeconds,omitempty"` + PeriodSeconds *int64 `tfsdk:"period_seconds" json:"periodSeconds,omitempty"` + SuccessThreshold *int64 `tfsdk:"success_threshold" json:"successThreshold,omitempty"` + TcpSocket *struct { + Host *string `tfsdk:"host" json:"host,omitempty"` + Port *string `tfsdk:"port" json:"port,omitempty"` + } `tfsdk:"tcp_socket" json:"tcpSocket,omitempty"` + TerminationGracePeriodSeconds *int64 `tfsdk:"termination_grace_period_seconds" json:"terminationGracePeriodSeconds,omitempty"` + TimeoutSeconds *int64 `tfsdk:"timeout_seconds" json:"timeoutSeconds,omitempty"` + } `tfsdk:"startup_probe" json:"startupProbe,omitempty"` + Storage *struct { + S3 *struct { + Bucket *string `tfsdk:"bucket" json:"bucket,omitempty"` + CredentialsSecret *string `tfsdk:"credentials_secret" json:"credentialsSecret,omitempty"` + EndpointUrl *string `tfsdk:"endpoint_url" json:"endpointUrl,omitempty"` + Prefix *string `tfsdk:"prefix" json:"prefix,omitempty"` + Region *string `tfsdk:"region" json:"region,omitempty"` + StorageClass *string `tfsdk:"storage_class" json:"storageClass,omitempty"` + } `tfsdk:"s3" json:"s3,omitempty"` + } `tfsdk:"storage" json:"storage,omitempty"` + Tolerations *[]struct { + Effect *string `tfsdk:"effect" json:"effect,omitempty"` + Key *string `tfsdk:"key" json:"key,omitempty"` + Operator *string `tfsdk:"operator" json:"operator,omitempty"` + TolerationSeconds *int64 `tfsdk:"toleration_seconds" json:"tolerationSeconds,omitempty"` + Value *string `tfsdk:"value" json:"value,omitempty"` + } `tfsdk:"tolerations" json:"tolerations,omitempty"` + TopologySpreadConstraints *[]struct { + LabelSelector *struct { + MatchExpressions *[]struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Operator *string `tfsdk:"operator" json:"operator,omitempty"` + Values *[]string `tfsdk:"values" json:"values,omitempty"` + } `tfsdk:"match_expressions" json:"matchExpressions,omitempty"` + MatchLabels *map[string]string `tfsdk:"match_labels" json:"matchLabels,omitempty"` + } `tfsdk:"label_selector" json:"labelSelector,omitempty"` + MatchLabelKeys *[]string `tfsdk:"match_label_keys" json:"matchLabelKeys,omitempty"` + MaxSkew *int64 `tfsdk:"max_skew" json:"maxSkew,omitempty"` + MinDomains *int64 `tfsdk:"min_domains" json:"minDomains,omitempty"` + NodeAffinityPolicy *string `tfsdk:"node_affinity_policy" json:"nodeAffinityPolicy,omitempty"` + NodeTaintsPolicy *string `tfsdk:"node_taints_policy" json:"nodeTaintsPolicy,omitempty"` + TopologyKey *string `tfsdk:"topology_key" json:"topologyKey,omitempty"` + WhenUnsatisfiable *string `tfsdk:"when_unsatisfiable" json:"whenUnsatisfiable,omitempty"` + } `tfsdk:"topology_spread_constraints" json:"topologySpreadConstraints,omitempty"` + VolumeSpec *struct { + EmptyDir *struct { + Medium *string `tfsdk:"medium" json:"medium,omitempty"` + SizeLimit *string `tfsdk:"size_limit" json:"sizeLimit,omitempty"` + } `tfsdk:"empty_dir" json:"emptyDir,omitempty"` + HostPath *struct { + Path *string `tfsdk:"path" json:"path,omitempty"` + Type *string `tfsdk:"type" json:"type,omitempty"` + } `tfsdk:"host_path" json:"hostPath,omitempty"` + PersistentVolumeClaim *struct { + AccessModes *[]string `tfsdk:"access_modes" json:"accessModes,omitempty"` + DataSource *struct { + ApiGroup *string `tfsdk:"api_group" json:"apiGroup,omitempty"` + Kind *string `tfsdk:"kind" json:"kind,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + } `tfsdk:"data_source" json:"dataSource,omitempty"` + DataSourceRef *struct { + ApiGroup *string `tfsdk:"api_group" json:"apiGroup,omitempty"` + Kind *string `tfsdk:"kind" json:"kind,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` + } `tfsdk:"data_source_ref" json:"dataSourceRef,omitempty"` + Resources *struct { + Limits *map[string]string `tfsdk:"limits" json:"limits,omitempty"` + Requests *map[string]string `tfsdk:"requests" json:"requests,omitempty"` + } `tfsdk:"resources" json:"resources,omitempty"` + Selector *struct { + MatchExpressions *[]struct { + Key *string `tfsdk:"key" json:"key,omitempty"` + Operator *string `tfsdk:"operator" json:"operator,omitempty"` + Values *[]string `tfsdk:"values" json:"values,omitempty"` + } `tfsdk:"match_expressions" json:"matchExpressions,omitempty"` + MatchLabels *map[string]string `tfsdk:"match_labels" json:"matchLabels,omitempty"` + } `tfsdk:"selector" json:"selector,omitempty"` + StorageClassName *string `tfsdk:"storage_class_name" json:"storageClassName,omitempty"` + VolumeAttributesClassName *string `tfsdk:"volume_attributes_class_name" json:"volumeAttributesClassName,omitempty"` + VolumeMode *string `tfsdk:"volume_mode" json:"volumeMode,omitempty"` + VolumeName *string `tfsdk:"volume_name" json:"volumeName,omitempty"` + } `tfsdk:"persistent_volume_claim" json:"persistentVolumeClaim,omitempty"` + } `tfsdk:"volume_spec" json:"volumeSpec,omitempty"` + WriteTimeout *int64 `tfsdk:"write_timeout" json:"writeTimeout,omitempty"` + } `tfsdk:"binlog_server" json:"binlogServer,omitempty"` + Enabled *bool `tfsdk:"enabled" json:"enabled,omitempty"` + } `tfsdk:"pitr" json:"pitr,omitempty"` Resources *struct { Claims *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` @@ -92,6 +521,12 @@ type PsPerconaComPerconaServerMySqlV1Alpha1ManifestData struct { Limits *map[string]string `tfsdk:"limits" json:"limits,omitempty"` Requests *map[string]string `tfsdk:"requests" json:"requests,omitempty"` } `tfsdk:"resources" json:"resources,omitempty"` + Schedule *[]struct { + Keep *int64 `tfsdk:"keep" json:"keep,omitempty"` + Name *string `tfsdk:"name" json:"name,omitempty"` + Schedule *string `tfsdk:"schedule" json:"schedule,omitempty"` + StorageName *string `tfsdk:"storage_name" json:"storageName,omitempty"` + } `tfsdk:"schedule" json:"schedule,omitempty"` ServiceAccountName *string `tfsdk:"service_account_name" json:"serviceAccountName,omitempty"` Storages *struct { Affinity *struct { @@ -2717,10 +3152,9 @@ type PsPerconaComPerconaServerMySqlV1Alpha1ManifestData struct { } `tfsdk:"volume_spec" json:"volumeSpec,omitempty"` } `tfsdk:"router" json:"router,omitempty"` } `tfsdk:"proxy" json:"proxy,omitempty"` - SecretsName *string `tfsdk:"secrets_name" json:"secretsName,omitempty"` - SslInternalSecretName *string `tfsdk:"ssl_internal_secret_name" json:"sslInternalSecretName,omitempty"` - SslSecretName *string `tfsdk:"ssl_secret_name" json:"sslSecretName,omitempty"` - Tls *struct { + SecretsName *string `tfsdk:"secrets_name" json:"secretsName,omitempty"` + SslSecretName *string `tfsdk:"ssl_secret_name" json:"sslSecretName,omitempty"` + Tls *struct { SANs *[]string `tfsdk:"sa_ns" json:"SANs,omitempty"` IssuerConf *struct { Group *string `tfsdk:"group" json:"group,omitempty"` @@ -3126,89 +3560,3017 @@ func (r *PsPerconaComPerconaServerMySqlV1Alpha1Manifest) Schema(_ context.Contex Computed: false, }, - "role": schema.StringAttribute{ - Description: "", - MarkdownDescription: "", - Required: false, - Optional: true, - Computed: false, - }, + "role": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "type": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "user": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "seccomp_profile": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "localhost_profile": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "type": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "windows_options": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "gmsa_credential_spec": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "gmsa_credential_spec_name": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "host_process": schema.BoolAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "run_as_user_name": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "enabled": schema.BoolAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "image": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "image_pull_policy": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "image_pull_secrets": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "name": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "init_image": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "pitr": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "binlog_server": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "affinity": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "advanced": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "node_affinity": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "preferred_during_scheduling_ignored_during_execution": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "preference": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "match_expressions": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "key": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "operator": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "values": schema.ListAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "match_fields": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "key": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "operator": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "values": schema.ListAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: true, + Optional: false, + Computed: false, + }, + + "weight": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "required_during_scheduling_ignored_during_execution": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "node_selector_terms": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "match_expressions": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "key": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "operator": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "values": schema.ListAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "match_fields": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "key": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "operator": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "values": schema.ListAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + }, + }, + Required: true, + Optional: false, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "pod_affinity": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "preferred_during_scheduling_ignored_during_execution": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "pod_affinity_term": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "label_selector": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "match_expressions": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "key": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "operator": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "values": schema.ListAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "match_labels": schema.MapAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "match_label_keys": schema.ListAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "mismatch_label_keys": schema.ListAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "namespace_selector": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "match_expressions": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "key": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "operator": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "values": schema.ListAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "match_labels": schema.MapAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "namespaces": schema.ListAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "topology_key": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + }, + Required: true, + Optional: false, + Computed: false, + }, + + "weight": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "required_during_scheduling_ignored_during_execution": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "label_selector": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "match_expressions": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "key": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "operator": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "values": schema.ListAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "match_labels": schema.MapAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "match_label_keys": schema.ListAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "mismatch_label_keys": schema.ListAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "namespace_selector": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "match_expressions": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "key": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "operator": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "values": schema.ListAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "match_labels": schema.MapAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "namespaces": schema.ListAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "topology_key": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "pod_anti_affinity": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "preferred_during_scheduling_ignored_during_execution": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "pod_affinity_term": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "label_selector": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "match_expressions": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "key": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "operator": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "values": schema.ListAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "match_labels": schema.MapAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "match_label_keys": schema.ListAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "mismatch_label_keys": schema.ListAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "namespace_selector": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "match_expressions": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "key": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "operator": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "values": schema.ListAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "match_labels": schema.MapAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "namespaces": schema.ListAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "topology_key": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + }, + Required: true, + Optional: false, + Computed: false, + }, + + "weight": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "required_during_scheduling_ignored_during_execution": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "label_selector": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "match_expressions": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "key": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "operator": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "values": schema.ListAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "match_labels": schema.MapAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "match_label_keys": schema.ListAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "mismatch_label_keys": schema.ListAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "namespace_selector": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "match_expressions": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "key": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "operator": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "values": schema.ListAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "match_labels": schema.MapAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "namespaces": schema.ListAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "topology_key": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "anti_affinity_topology_key": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "annotations": schema.MapAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "configuration": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "connect_timeout": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "container_security_context": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "allow_privilege_escalation": schema.BoolAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "app_armor_profile": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "localhost_profile": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "type": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "capabilities": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "add": schema.ListAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "drop": schema.ListAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "privileged": schema.BoolAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "proc_mount": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "read_only_root_filesystem": schema.BoolAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "run_as_group": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "run_as_non_root": schema.BoolAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "run_as_user": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "se_linux_options": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "level": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "role": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "type": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "user": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "seccomp_profile": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "localhost_profile": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "type": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "windows_options": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "gmsa_credential_spec": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "gmsa_credential_spec_name": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "host_process": schema.BoolAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "run_as_user_name": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "env": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "name": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "value": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "value_from": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "config_map_key_ref": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "key": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "name": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "optional": schema.BoolAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "field_ref": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "api_version": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "field_path": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "resource_field_ref": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "container_name": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "divisor": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "resource": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "secret_key_ref": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "key": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "name": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "optional": schema.BoolAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "env_from": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "config_map_ref": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "name": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "optional": schema.BoolAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "prefix": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "secret_ref": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "name": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "optional": schema.BoolAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "grace_period": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "idle_time": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "image": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "image_pull_policy": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "image_pull_secrets": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "name": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "init_image": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "labels": schema.MapAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "liveness_probe": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "exec": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "command": schema.ListAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "failure_threshold": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "grpc": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "port": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "service": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "http_get": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "host": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "http_headers": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "name": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "value": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "path": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "port": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "scheme": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "initial_delay_seconds": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "period_seconds": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "success_threshold": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "tcp_socket": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "host": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "port": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "termination_grace_period_seconds": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "timeout_seconds": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "node_selector": schema.MapAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "pod_security_context": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "app_armor_profile": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "localhost_profile": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "type": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "fs_group": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "fs_group_change_policy": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "run_as_group": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "run_as_non_root": schema.BoolAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "run_as_user": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "se_linux_options": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "level": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "role": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "type": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "user": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "seccomp_profile": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "localhost_profile": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "type": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "supplemental_groups": schema.ListAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "sysctls": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "name": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "value": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "windows_options": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "gmsa_credential_spec": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "gmsa_credential_spec_name": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "host_process": schema.BoolAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "run_as_user_name": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "priority_class_name": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "read_timeout": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "readiness_probe": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "exec": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "command": schema.ListAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "failure_threshold": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "grpc": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "port": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "service": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "http_get": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "host": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "http_headers": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "name": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "value": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "path": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "port": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "scheme": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "initial_delay_seconds": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "period_seconds": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "success_threshold": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "tcp_socket": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "host": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "port": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "termination_grace_period_seconds": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "timeout_seconds": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "resources": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "claims": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "name": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "limits": schema.MapAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "requests": schema.MapAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "runtime_class_name": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "scheduler_name": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "server_id": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "service_account_name": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "size": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "startup_probe": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "exec": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "command": schema.ListAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "failure_threshold": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "grpc": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "port": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "service": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "http_get": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "host": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "http_headers": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "name": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "value": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "path": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "port": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "scheme": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "initial_delay_seconds": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "period_seconds": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "success_threshold": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "tcp_socket": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "host": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "port": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "termination_grace_period_seconds": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "timeout_seconds": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "storage": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "s3": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "bucket": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "credentials_secret": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "endpoint_url": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "prefix": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "region": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "storage_class": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: true, + Optional: false, + Computed: false, + }, + + "tolerations": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "effect": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "key": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "operator": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "toleration_seconds": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "value": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "topology_spread_constraints": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "label_selector": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "match_expressions": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "key": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "operator": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "values": schema.ListAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "match_labels": schema.MapAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "match_label_keys": schema.ListAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "max_skew": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "min_domains": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "node_affinity_policy": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "node_taints_policy": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "topology_key": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "when_unsatisfiable": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "volume_spec": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "empty_dir": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "medium": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "size_limit": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "host_path": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "path": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "type": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "persistent_volume_claim": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "access_modes": schema.ListAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "data_source": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "api_group": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "kind": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "name": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "data_source_ref": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "api_group": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "kind": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "name": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, + + "namespace": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "resources": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "limits": schema.MapAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + + "requests": schema.MapAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + + "selector": schema.SingleNestedAttribute{ + Description: "", + MarkdownDescription: "", + Attributes: map[string]schema.Attribute{ + "match_expressions": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "key": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, - "type": schema.StringAttribute{ - Description: "", - MarkdownDescription: "", - Required: false, - Optional: true, - Computed: false, - }, + "operator": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: true, + Optional: false, + Computed: false, + }, - "user": schema.StringAttribute{ - Description: "", - MarkdownDescription: "", - Required: false, - Optional: true, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, + "values": schema.ListAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, - "seccomp_profile": schema.SingleNestedAttribute{ - Description: "", - MarkdownDescription: "", - Attributes: map[string]schema.Attribute{ - "localhost_profile": schema.StringAttribute{ - Description: "", - MarkdownDescription: "", - Required: false, - Optional: true, - Computed: false, - }, + "match_labels": schema.MapAttribute{ + Description: "", + MarkdownDescription: "", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, - "type": schema.StringAttribute{ - Description: "", - MarkdownDescription: "", - Required: true, - Optional: false, - Computed: false, - }, - }, - Required: false, - Optional: true, - Computed: false, - }, + "storage_class_name": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, - "windows_options": schema.SingleNestedAttribute{ - Description: "", - MarkdownDescription: "", - Attributes: map[string]schema.Attribute{ - "gmsa_credential_spec": schema.StringAttribute{ - Description: "", - MarkdownDescription: "", - Required: false, - Optional: true, - Computed: false, - }, + "volume_attributes_class_name": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, - "gmsa_credential_spec_name": schema.StringAttribute{ - Description: "", - MarkdownDescription: "", - Required: false, - Optional: true, - Computed: false, - }, + "volume_mode": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, - "host_process": schema.BoolAttribute{ - Description: "", - MarkdownDescription: "", - Required: false, - Optional: true, - Computed: false, + "volume_name": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, }, - "run_as_user_name": schema.StringAttribute{ + "write_timeout": schema.Int64Attribute{ Description: "", MarkdownDescription: "", Required: false, @@ -3220,48 +6582,13 @@ func (r *PsPerconaComPerconaServerMySqlV1Alpha1Manifest) Schema(_ context.Contex Optional: true, Computed: false, }, - }, - Required: false, - Optional: true, - Computed: false, - }, - "enabled": schema.BoolAttribute{ - Description: "", - MarkdownDescription: "", - Required: false, - Optional: true, - Computed: false, - }, - - "image": schema.StringAttribute{ - Description: "", - MarkdownDescription: "", - Required: true, - Optional: false, - Computed: false, - }, - - "image_pull_policy": schema.StringAttribute{ - Description: "", - MarkdownDescription: "", - Required: false, - Optional: true, - Computed: false, - }, - - "image_pull_secrets": schema.ListNestedAttribute{ - Description: "", - MarkdownDescription: "", - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "name": schema.StringAttribute{ - Description: "", - MarkdownDescription: "", - Required: false, - Optional: true, - Computed: false, - }, + "enabled": schema.BoolAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, }, }, Required: false, @@ -3269,14 +6596,6 @@ func (r *PsPerconaComPerconaServerMySqlV1Alpha1Manifest) Schema(_ context.Contex Computed: false, }, - "init_image": schema.StringAttribute{ - Description: "", - MarkdownDescription: "", - Required: false, - Optional: true, - Computed: false, - }, - "resources": schema.SingleNestedAttribute{ Description: "", MarkdownDescription: "", @@ -3323,6 +6642,49 @@ func (r *PsPerconaComPerconaServerMySqlV1Alpha1Manifest) Schema(_ context.Contex Computed: false, }, + "schedule": schema.ListNestedAttribute{ + Description: "", + MarkdownDescription: "", + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "keep": schema.Int64Attribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "name": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "schedule": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + + "storage_name": schema.StringAttribute{ + Description: "", + MarkdownDescription: "", + Required: false, + Optional: true, + Computed: false, + }, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + "service_account_name": schema.StringAttribute{ Description: "", MarkdownDescription: "", @@ -21007,14 +24369,6 @@ func (r *PsPerconaComPerconaServerMySqlV1Alpha1Manifest) Schema(_ context.Contex Computed: false, }, - "ssl_internal_secret_name": schema.StringAttribute{ - Description: "", - MarkdownDescription: "", - Required: false, - Optional: true, - Computed: false, - }, - "ssl_secret_name": schema.StringAttribute{ Description: "", MarkdownDescription: "", diff --git a/internal/provider/source_toolkit_fluxcd_io_v1beta2/source_toolkit_fluxcd_io_bucket_v1beta2_manifest.go b/internal/provider/source_toolkit_fluxcd_io_v1beta2/source_toolkit_fluxcd_io_bucket_v1beta2_manifest.go index 2172818e1..53ae6c7d5 100644 --- a/internal/provider/source_toolkit_fluxcd_io_v1beta2/source_toolkit_fluxcd_io_bucket_v1beta2_manifest.go +++ b/internal/provider/source_toolkit_fluxcd_io_v1beta2/source_toolkit_fluxcd_io_bucket_v1beta2_manifest.go @@ -261,8 +261,8 @@ func (r *SourceToolkitFluxcdIoBucketV1Beta2Manifest) Schema(_ context.Context, _ }, "proxy_secret_ref": schema.SingleNestedAttribute{ - Description: "ProxySecretRef specifies the Secret containing the proxy configurationto use while communicating with the Bucket server.Only supported for the generic provider.", - MarkdownDescription: "ProxySecretRef specifies the Secret containing the proxy configurationto use while communicating with the Bucket server.Only supported for the generic provider.", + Description: "ProxySecretRef specifies the Secret containing the proxy configurationto use while communicating with the Bucket server.", + MarkdownDescription: "ProxySecretRef specifies the Secret containing the proxy configurationto use while communicating with the Bucket server.", Attributes: map[string]schema.Attribute{ "name": schema.StringAttribute{ Description: "Name of the referent.", diff --git a/internal/provider/source_toolkit_fluxcd_io_v1beta2/source_toolkit_fluxcd_io_oci_repository_v1beta2_manifest.go b/internal/provider/source_toolkit_fluxcd_io_v1beta2/source_toolkit_fluxcd_io_oci_repository_v1beta2_manifest.go index fc3d2391f..ca4eb0922 100644 --- a/internal/provider/source_toolkit_fluxcd_io_v1beta2/source_toolkit_fluxcd_io_oci_repository_v1beta2_manifest.go +++ b/internal/provider/source_toolkit_fluxcd_io_v1beta2/source_toolkit_fluxcd_io_oci_repository_v1beta2_manifest.go @@ -54,8 +54,11 @@ type SourceToolkitFluxcdIoOcirepositoryV1Beta2ManifestData struct { MediaType *string `tfsdk:"media_type" json:"mediaType,omitempty"` Operation *string `tfsdk:"operation" json:"operation,omitempty"` } `tfsdk:"layer_selector" json:"layerSelector,omitempty"` - Provider *string `tfsdk:"provider" json:"provider,omitempty"` - Ref *struct { + Provider *string `tfsdk:"provider" json:"provider,omitempty"` + ProxySecretRef *struct { + Name *string `tfsdk:"name" json:"name,omitempty"` + } `tfsdk:"proxy_secret_ref" json:"proxySecretRef,omitempty"` + Ref *struct { Digest *string `tfsdk:"digest" json:"digest,omitempty"` Semver *string `tfsdk:"semver" json:"semver,omitempty"` SemverFilter *string `tfsdk:"semver_filter" json:"semverFilter,omitempty"` @@ -241,6 +244,23 @@ func (r *SourceToolkitFluxcdIoOcirepositoryV1Beta2Manifest) Schema(_ context.Con }, }, + "proxy_secret_ref": schema.SingleNestedAttribute{ + Description: "ProxySecretRef specifies the Secret containing the proxy configurationto use while communicating with the container registry.", + MarkdownDescription: "ProxySecretRef specifies the Secret containing the proxy configurationto use while communicating with the container registry.", + Attributes: map[string]schema.Attribute{ + "name": schema.StringAttribute{ + Description: "Name of the referent.", + MarkdownDescription: "Name of the referent.", + Required: true, + Optional: false, + Computed: false, + }, + }, + Required: false, + Optional: true, + Computed: false, + }, + "ref": schema.SingleNestedAttribute{ Description: "The OCI reference to pull and monitor for changes,defaults to the latest tag.", MarkdownDescription: "The OCI reference to pull and monitor for changes,defaults to the latest tag.", diff --git a/internal/provider/velero_io_v1/velero_io_backup_repository_v1_manifest.go b/internal/provider/velero_io_v1/velero_io_backup_repository_v1_manifest.go index 5152dfc80..83482a530 100644 --- a/internal/provider/velero_io_v1/velero_io_backup_repository_v1_manifest.go +++ b/internal/provider/velero_io_v1/velero_io_backup_repository_v1_manifest.go @@ -43,11 +43,12 @@ type VeleroIoBackupRepositoryV1ManifestData struct { } `tfsdk:"metadata" json:"metadata"` Spec *struct { - BackupStorageLocation *string `tfsdk:"backup_storage_location" json:"backupStorageLocation,omitempty"` - MaintenanceFrequency *string `tfsdk:"maintenance_frequency" json:"maintenanceFrequency,omitempty"` - RepositoryType *string `tfsdk:"repository_type" json:"repositoryType,omitempty"` - ResticIdentifier *string `tfsdk:"restic_identifier" json:"resticIdentifier,omitempty"` - VolumeNamespace *string `tfsdk:"volume_namespace" json:"volumeNamespace,omitempty"` + BackupStorageLocation *string `tfsdk:"backup_storage_location" json:"backupStorageLocation,omitempty"` + MaintenanceFrequency *string `tfsdk:"maintenance_frequency" json:"maintenanceFrequency,omitempty"` + RepositoryConfig *map[string]string `tfsdk:"repository_config" json:"repositoryConfig,omitempty"` + RepositoryType *string `tfsdk:"repository_type" json:"repositoryType,omitempty"` + ResticIdentifier *string `tfsdk:"restic_identifier" json:"resticIdentifier,omitempty"` + VolumeNamespace *string `tfsdk:"volume_namespace" json:"volumeNamespace,omitempty"` } `tfsdk:"spec" json:"spec,omitempty"` } @@ -144,6 +145,15 @@ func (r *VeleroIoBackupRepositoryV1Manifest) Schema(_ context.Context, _ datasou Computed: false, }, + "repository_config": schema.MapAttribute{ + Description: "RepositoryConfig is for repository-specific configuration fields.", + MarkdownDescription: "RepositoryConfig is for repository-specific configuration fields.", + ElementType: types.StringType, + Required: false, + Optional: true, + Computed: false, + }, + "repository_type": schema.StringAttribute{ Description: "RepositoryType indicates the type of the backend repository", MarkdownDescription: "RepositoryType indicates the type of the backend repository", diff --git a/internal/provider/workloads_kubeblocks_io_v1alpha1/workloads_kubeblocks_io_instance_set_v1alpha1_manifest.go b/internal/provider/workloads_kubeblocks_io_v1alpha1/workloads_kubeblocks_io_instance_set_v1alpha1_manifest.go index dad05f62a..8dae36446 100644 --- a/internal/provider/workloads_kubeblocks_io_v1alpha1/workloads_kubeblocks_io_instance_set_v1alpha1_manifest.go +++ b/internal/provider/workloads_kubeblocks_io_v1alpha1/workloads_kubeblocks_io_instance_set_v1alpha1_manifest.go @@ -722,8 +722,7 @@ type WorkloadsKubeblocksIoInstanceSetV1Alpha1ManifestData struct { PodUpdatePolicy *string `tfsdk:"pod_update_policy" json:"podUpdatePolicy,omitempty"` Replicas *int64 `tfsdk:"replicas" json:"replicas,omitempty"` RoleProbe *struct { - BuiltinHandlerName *string `tfsdk:"builtin_handler_name" json:"builtinHandlerName,omitempty"` - CustomHandler *[]struct { + CustomHandler *[]struct { Args *[]string `tfsdk:"args" json:"args,omitempty"` Command *[]string `tfsdk:"command" json:"command,omitempty"` Image *string `tfsdk:"image" json:"image,omitempty"` @@ -6814,17 +6813,9 @@ func (r *WorkloadsKubeblocksIoInstanceSetV1Alpha1Manifest) Schema(_ context.Cont Description: "Provides method to probe role.", MarkdownDescription: "Provides method to probe role.", Attributes: map[string]schema.Attribute{ - "builtin_handler_name": schema.StringAttribute{ - Description: "Specifies the builtin handler name to use to probe the role of the main container.Available handlers include: mysql, postgres, mongodb, redis, etcd, kafka.Use CustomHandler to define a custom role probe function if none of the built-in handlers meet the requirement.", - MarkdownDescription: "Specifies the builtin handler name to use to probe the role of the main container.Available handlers include: mysql, postgres, mongodb, redis, etcd, kafka.Use CustomHandler to define a custom role probe function if none of the built-in handlers meet the requirement.", - Required: false, - Optional: true, - Computed: false, - }, - "custom_handler": schema.ListNestedAttribute{ - Description: "Defines a custom method for role probing.If the BuiltinHandler meets the requirement, use it instead.Actions defined here are executed in series.Upon completion of all actions, the final output should be a single string representing the role name defined in spec.Roles.The latest [BusyBox](https://busybox.net/) image will be used if Image is not configured.Environment variables can be used in Command:- v_KB_ITS_LAST_STDOUT: stdout from the last action, watch for 'v_' prefix- KB_ITS_USERNAME: username part of the credential- KB_ITS_PASSWORD: password part of the credential", - MarkdownDescription: "Defines a custom method for role probing.If the BuiltinHandler meets the requirement, use it instead.Actions defined here are executed in series.Upon completion of all actions, the final output should be a single string representing the role name defined in spec.Roles.The latest [BusyBox](https://busybox.net/) image will be used if Image is not configured.Environment variables can be used in Command:- v_KB_ITS_LAST_STDOUT: stdout from the last action, watch for 'v_' prefix- KB_ITS_USERNAME: username part of the credential- KB_ITS_PASSWORD: password part of the credential", + Description: "Defines a custom method for role probing.Actions defined here are executed in series.Upon completion of all actions, the final output should be a single string representing the role name defined in spec.Roles.The latest [BusyBox](https://busybox.net/) image will be used if Image is not configured.Environment variables can be used in Command:- v_KB_ITS_LAST_STDOUT: stdout from the last action, watch for 'v_' prefix- KB_ITS_USERNAME: username part of the credential- KB_ITS_PASSWORD: password part of the credential", + MarkdownDescription: "Defines a custom method for role probing.Actions defined here are executed in series.Upon completion of all actions, the final output should be a single string representing the role name defined in spec.Roles.The latest [BusyBox](https://busybox.net/) image will be used if Image is not configured.Environment variables can be used in Command:- v_KB_ITS_LAST_STDOUT: stdout from the last action, watch for 'v_' prefix- KB_ITS_USERNAME: username part of the credential- KB_ITS_PASSWORD: password part of the credential", NestedObject: schema.NestedAttributeObject{ Attributes: map[string]schema.Attribute{ "args": schema.ListAttribute{ diff --git a/schemas/openapi_v2/kubernetes/kubernetes/swagger.json b/schemas/openapi_v2/kubernetes/kubernetes/swagger.json index ed0410aa5..5351f4c20 100644 --- a/schemas/openapi_v2/kubernetes/kubernetes/swagger.json +++ b/schemas/openapi_v2/kubernetes/kubernetes/swagger.json @@ -15961,7 +15961,7 @@ "properties": { "metadata": { "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", - "description": "ObjectMeta may contain labels and annotations that will be copied into the PVC when creating it. No other fields are allowed and will be rejected during validation." + "description": "ObjectMeta may contain labels and annotations that will be copied into the ResourceClaim when creating it. No other fields are allowed and will be rejected during validation." }, "spec": { "$ref": "#/definitions/io.k8s.api.resource.v1alpha3.ResourceClaimSpec",