
Huawei Trigger
CertifiedTrigger a flow when a Huawei Cloud CES metric query returns datapoints matching a threshold
Huawei Trigger
Trigger a flow when a Huawei Cloud CES metric query returns datapoints matching a threshold
Polls a CES metric on a configurable interval and fires an execution as soon as the query returns at least one new datapoint. Useful for reacting to metric thresholds without a dedicated CES alarm, e.g. to kick off a remediation flow.
A watermark (the timestamp of the most recent datapoint seen) is persisted in the flow's
namespace KV Store between polls, so datapoints
already seen in a previous overlapping window never fire the trigger twice.
The trigger outputs the same structure as the Query task, containing only the new datapoints
that fired this execution.
On sovereign clouds (e.g. the EU myhuaweicloud.eu domain) set endpointOverride (or
endpointSuffix) to reach the correct endpoint, and additionally set projectId — the CES v1
API embeds the project ID in the request path, and a custom endpoint bypasses the SDK's
automatic project discovery.
type: io.kestra.plugin.huawei.ces.TriggerExamples
Trigger a flow whenever new CPU utilization datapoints are available for an ECS instance.
id: ces_trigger
namespace: company.team
tasks:
- id: process
type: io.kestra.plugin.core.log.Log
message: "{{ trigger.series | length }} new datapoints, latest={{ trigger.series | last }}"
triggers:
- id: watch
type: io.kestra.plugin.huawei.ces.Trigger
accessKeyId: "{{ secret('HUAWEI_AK') }}"
secretAccessKey: "{{ secret('HUAWEI_SK') }}"
region: eu-west-101
namespace: SYS.ECS
metricName: cpu_util
dimensions:
- name: instance_id
value: "abc123def456"
statistic: AVERAGE
period: FIVE_MINUTES
window: PT10M
interval: PT5M
Trigger a flow only when average CPU utilization exceeds 80%.
id: ces_trigger_threshold
namespace: company.team
tasks:
- id: alert
type: io.kestra.plugin.core.log.Log
message: "High CPU usage detected: {{ trigger.series | last }}"
triggers:
- id: watch_high_cpu
type: io.kestra.plugin.huawei.ces.Trigger
accessKeyId: "{{ secret('HUAWEI_AK') }}"
secretAccessKey: "{{ secret('HUAWEI_SK') }}"
region: eu-west-101
namespace: SYS.ECS
metricName: cpu_util
dimensions:
- name: instance_id
value: "abc123def456"
statistic: AVERAGE
period: FIVE_MINUTES
window: PT10M
interval: PT5M
threshold: 80
comparisonOperator: GREATER_THAN
Properties
dimensions *Requiredarray
Dimensions identifying the monitored resource
1 to 3 name/value pairs. CES requires at least one dimension to identify the exact resource instance.
io.kestra.plugin.huawei.ces.Dimension
Dimension name
E.g. instance_id for an ECS instance dimension.
Dimension value
E.g. the ECS instance ID.
metricName *Requiredstring
Metric name
namespace *Requiredstring
Metric namespace
accessKeyId string
Access Key (AK) used to authenticate with Huawei Cloud
Huawei Cloud access key used together with secretAccessKey to sign API requests. Required for AK/SK-based authentication; not required when providing a pre-obtained securityToken. Sensitive — always provide via {{ secret('NAME') }}.
allowConcurrent Non-dynamicboolean
falseSpecifies whether a trigger is allowed to start a new execution even if a previous run is still in progress.
comparisonOperator string
GREATER_THANGREATER_THANGREATER_THAN_OR_EQUALLESS_THANLESS_THAN_OR_EQUALEQUALComparison operator applied to threshold
Ignored when threshold is not set. Defaults to GREATER_THAN.
conditions Non-dynamic
List of conditions in order to limit the flow trigger.
Allow events only between two datetimes.
Compares a rendered date (defaults to {{ trigger.date }}) against optional after and before bounds expressed as ISO-8601 datetimes with zone.
You must provide at least one bound; if both are set the date must fall strictly between them. Missing both bounds triggers an evaluation error.
Trigger condition to execute the flow only after the specific date.
id: schedule_condition_datetimebetween
namespace: company.team
tasks:
- id: log_message
type: io.kestra.plugin.core.log.Log
message: "This flow will execute once every 5 minutes after the date 2025-12-31T23:59:59Z"
triggers:
- id: schedule
type: io.kestra.plugin.core.trigger.Schedule
cron: "*/5 * * * *"
conditions:
- type: io.kestra.plugin.core.condition.DateTimeBetween
date: "{{ trigger.date }}"
after: "2025-12-31T23:59:59Z"
Trigger condition to execute the flow between two specific dates.
id: schedule_condition_datetimebetween
namespace: company.team
tasks:
- id: log_message
type: io.kestra.plugin.core.log.Log
message: "This flow will be executed once every 5 minutes between the before and after dates"
triggers:
- id: schedule
type: io.kestra.plugin.core.trigger.Schedule
cron: "*/5 * * * *"
conditions:
- type: io.kestra.plugin.core.condition.DateTimeBetween
date: "{{ trigger.date }}"
after: "2025-01-01T00:00:00Z"
before: "2025-12-31T23:59:59Z"
io.kestra.plugin.core.condition.DateTimeBetweenio.kestra.core.models.conditions.types.DateTimeBetweenConditionio.kestra.plugin.core.condition.DateTimeBetweenConditionThe date to test must be after this one.
Must be a valid ISO 8601 datetime with the zone identifier (use 'Z' for the default zone identifier).
The date to test must be before this one.
Must be a valid ISO 8601 datetime with the zone identifier (use 'Z' for the default zone identifier).
{{ trigger.date }}The date to test.
Can be any variable or any valid ISO 8601 datetime. By default, it will use the trigger date.
Allow events on a specific weekday.
Renders a date (defaults to the trigger timestamp) and checks its day-of-week against the provided dayOfWeek.
Accepts ISO-8601 date/time strings; the comparison uses the rendered timezone.
Trigger condition to execute the flow only on a specific day of the week.
id: schedule_condition_dayweek
namespace: company.team
tasks:
- id: log_message
type: io.kestra.plugin.core.log.Log
message: "This flow will execute only on Mondays at 11:00 am."
triggers:
- id: schedule
type: io.kestra.plugin.core.trigger.Schedule
cron: "0 11 * * *"
conditions:
- type: io.kestra.plugin.core.condition.DayWeek
dayOfWeek: "MONDAY"
MONDAYTUESDAYWEDNESDAYTHURSDAYFRIDAYSATURDAYSUNDAYThe day of week.
io.kestra.plugin.core.condition.DayWeekio.kestra.core.models.conditions.types.DayWeekConditionio.kestra.plugin.core.condition.DayWeekCondition{{ trigger.date }}The date to test.
Can be any variable or any valid ISO 8601 datetime. By default, it will use the trigger date.
Allow events on an nth weekday within the month.
Renders a date (defaults to the trigger timestamp) and checks whether it matches the requested weekday and position in the month (FIRST, SECOND, THIRD, FOURTH, or LAST).
Useful for patterns like “first Monday” or “last Friday”. Dates must be valid ISO-8601 strings.
Trigger condition to execute the flow only on the first Monday of the month.
id: schedule_condition_dayweekinmonth
namespace: company.team
tasks:
- id: log_message
type: io.kestra.plugin.core.log.Log
message: "This flow will execute only on the first Monday of the month at 11:00 am."
triggers:
- id: schedule
type: io.kestra.plugin.core.trigger.Schedule
cron: "0 11 * * *"
conditions:
- type: io.kestra.plugin.core.condition.DayWeekInMonth
dayOfWeek: "MONDAY"
dayInMonth: FIRST
FIRSTLASTSECONDTHIRDFOURTHAre you looking for the first or the last day in the month?
MONDAYTUESDAYWEDNESDAYTHURSDAYFRIDAYSATURDAYSUNDAYThe day of week.
io.kestra.plugin.core.condition.DayWeekInMonthio.kestra.plugin.core.condition.DayWeekInMonthConditionio.kestra.core.models.conditions.types.DayWeekInMonthCondition{{ trigger.date }}The date to test.
Can be any variable or any valid ISO 8601 datetime. By default, it will use the trigger date.
Match events from a specific flow.
Passes only when the triggering execution belongs to the given Namespace and Flow ID.
Pair with the Flow trigger to react to a single upstream flow; for broader namespace matching use ExecutionNamespace.
Trigger condition to execute the flow based on execution of another flow.
id: flow_condition_executionflow
namespace: company.team
tasks:
- id: hello
type: io.kestra.plugin.core.log.Log
message: "This flow will execute when flow `flow_a` of namespace `company.team` enters RUNNING state."
triggers:
- id: flow_trigger
type: io.kestra.plugin.core.trigger.Flow
conditions:
- type: io.kestra.plugin.core.condition.ExecutionFlow
flowId: flow_a
namespace: company.team
states:
- RUNNING
The Flow ID
The Flow Namespace
io.kestra.plugin.core.condition.ExecutionFlowio.kestra.plugin.core.condition.ExecutionFlowConditionio.kestra.core.models.conditions.types.ExecutionFlowConditionMatch executions by label set.
Evaluates true only if the execution carries all provided labels. Labels can be declared as a map or list; system-reserved labels are rejected.
Useful for filtering Flow triggers to specific environments, owners, or any custom tagging strategy.
Trigger condition to execute the flow based on execution of another flow(s) with certain execution labels.
id: flow_condition_executionlabels
namespace: company.team
tasks:
- id: hello
type: io.kestra.plugin.core.log.Log
message: "This flow will execute when flow with specified labels enters FAILED state."
triggers:
- id: flow_trigger
type: io.kestra.plugin.core.trigger.Flow
conditions:
- type: io.kestra.plugin.core.condition.ExecutionLabels
labels:
owner: john.doe
env: prod
states:
- FAILED
List of labels to match in the execution.
io.kestra.plugin.core.condition.ExecutionLabelsio.kestra.core.models.conditions.types.ExecutionLabelsConditionio.kestra.plugin.core.condition.ExecutionLabelsConditionMatch executions by namespace.
Compares the triggering execution’s namespace against a target string using EQUALS, PREFIX, or SUFFIX. The prefix boolean is a shorthand for comparison: PREFIX.
If no comparison is set, it defaults to strict equality unless prefix is true.
Trigger condition to execute the flow based on execution of another flow(s) belonging to certain namespace.
id: flow_condition_executionnamespace
namespace: company.team
tasks:
- id: hello
type: io.kestra.plugin.core.log.Log
message: "This flow will execute when any flow within `company.engineering` namespace enters RUNNING state."
triggers:
- id: flow_trigger
type: io.kestra.plugin.core.trigger.Flow
conditions:
- type: io.kestra.plugin.core.condition.ExecutionNamespace
namespace: company.engineering
comparison: PREFIX
states:
- RUNNING
String against which to match the execution namespace depending on the provided comparison.
io.kestra.plugin.core.condition.ExecutionNamespaceio.kestra.core.models.conditions.types.ExecutionNamespaceConditionio.kestra.plugin.core.condition.ExecutionNamespaceConditionEQUALSPREFIXSUFFIXComparison to use when checking if namespace matches. If not provided, it will use EQUALS by default.
falseWhether to look at the flow namespace by prefix. Shortcut for comparison: PREFIX.
Only used when comparison is not set
Condition based on the outputs of an upstream execution.
Renders the provided boolean expression against the upstream execution outputs exposed under trigger.outputs.
If the execution exposes no outputs the condition is false and the expression is skipped. A rendered result of blank, space-only, or literal false is treated as false.
The upstream flow_a must explicitly define its outputs
to be used in the ExecutionOutputs condition.
id: flow_a
namespace: company.team
inputs:
- id: user_value
type: STRING
defaults: hello
tasks:
- id: hello
type: io.kestra.plugin.core.debug.Return
format: "{{ inputs.user_value }}"
outputs:
- id: flow_a_output
type: STRING
value: "{{ outputs.hello.value }}"
The flow_condition_executionoutputs will run whenever flow_a finishes successfully
and returns an output matching the value 'hello':
id: flow_condition_executionoutputs
namespace: company.team
tasks:
- id: upstream_outputs
type: io.kestra.plugin.core.log.Log
message: hello from a downstream flow
triggers:
- id: condition_on_flow_execution_outputs
type: io.kestra.plugin.core.trigger.Flow
states:
- SUCCESS
conditions:
- type: io.kestra.plugin.core.condition.ExecutionOutputs
expression: "{{ trigger.outputs.flow_a_output == 'hello' }}"
io.kestra.plugin.core.condition.ExecutionOutputsio.kestra.core.models.conditions.types.ExecutionOutputsConditionio.kestra.plugin.core.condition.ExecutionOutputsConditionMatch executions by status.
Passes when the triggering execution’s current state is included in in and not present in notIn.
If a list is empty it is ignored, so provide at least one of them to avoid unintentionally matching everything.
Trigger condition to execute the flow based on execution status of another flow(s).
id: flow_condition_executionstatus
namespace: company.team
tasks:
- id: hello
type: io.kestra.plugin.core.log.Log
message: "This flow will execute when any flow enters FAILED or KILLED state."
triggers:
- id: flow_trigger
type: io.kestra.plugin.core.trigger.Flow
conditions:
- type: io.kestra.plugin.core.condition.ExecutionStatus
in:
- FAILED
- KILLED
io.kestra.plugin.core.condition.ExecutionStatusio.kestra.core.models.conditions.types.ExecutionStatusConditionio.kestra.plugin.core.condition.ExecutionStatusConditionCREATEDSUBMITTEDRUNNINGPAUSEDRESTARTEDKILLINGSUCCESSWARNINGFAILEDKILLEDCANCELLEDQUEUEDRETRYINGRETRIEDSKIPPEDBREAKPOINTRESUBMITTEDList of states that are authorized.
CREATEDSUBMITTEDRUNNINGPAUSEDRESTARTEDKILLINGSUCCESSWARNINGFAILEDKILLEDCANCELLEDQUEUEDRETRYINGRETRIEDSKIPPEDBREAKPOINTRESUBMITTEDList of states that aren't authorized.
Condition based on variable expression.
Renders a templated expression and treats the result as truthy/falsey to decide whether the condition passes.
Blank strings or the literal false (case-sensitive) evaluate to false; everything else is true. Expressions can reference any flow variables available at evaluation time, so make sure they resolve without errors.
Trigger condition to execute the flow when the expression evaluates to true.
id: myflow
namespace: company.team
tasks:
- id: hello
type: io.kestra.plugin.core.log.Log
message: Average value has gone below 10
triggers:
- id: expression_trigger
type: io.kestra.plugin.core.trigger.Schedule
cron: "*/1 * * * *"
conditions:
- type: io.kestra.plugin.core.condition.Expression
expression: "{{ kv('average_value') < 10 }}"
io.kestra.plugin.core.condition.Expressionio.kestra.plugin.core.condition.ExpressionConditionio.kestra.core.models.conditions.types.VariableConditionMatch executions where a task was retried.
Passes if any task run has more than one attempt and its state satisfies in / notIn filters.
Provide in states to avoid matching nothing (an empty in list fails all attempts). Use with Flow triggers to react when retries occur.
Trigger condition when any flow task on retry enters the state specified in the in states under the HasRetryAttempt condition.
id: flow_condition_hasretryattempt
namespace: company.team
tasks:
- id: log_message
type: io.kestra.plugin.core.log.Log
message: "This flow will execute when any flow task on retry enters a specific state(s)."
triggers:
- id: flow_condition
type: io.kestra.plugin.core.trigger.Flow
conditions:
- type: io.kestra.plugin.core.condition.HasRetryAttempt
in:
- FAILED
io.kestra.plugin.core.condition.HasRetryAttemptio.kestra.plugin.core.condition.HasRetryAttemptConditionio.kestra.core.models.conditions.types.HasRetryAttemptConditionCREATEDSUBMITTEDRUNNINGPAUSEDRESTARTEDKILLINGSUCCESSWARNINGFAILEDKILLEDCANCELLEDQUEUEDRETRYINGRETRIEDSKIPPEDBREAKPOINTRESUBMITTEDList of states that are authorized.
CREATEDSUBMITTEDRUNNINGPAUSEDRESTARTEDKILLINGSUCCESSWARNINGFAILEDKILLEDCANCELLEDQUEUEDRETRYINGRETRIEDSKIPPEDBREAKPOINTRESUBMITTEDList of states that aren't authorized.
Invert one or more conditions.
Fails the evaluation if any nested condition is true; otherwise passes.
Combine with other schedule conditions to express “not these dates/states” patterns.
Trigger condition to execute the flow when the condition is not satisfied.
id: schedule_condition_not
namespace: company.team
tasks:
- id: log_message
type: io.kestra.plugin.core.log.Log
message: "This flow will execute on all days except Sunday at 11am."
triggers:
- id: schedule
type: io.kestra.plugin.core.trigger.Schedule
cron: "0 11 * * *"
conditions:
- type: io.kestra.plugin.core.condition.Not
conditions:
- type: io.kestra.plugin.core.condition.DayWeek
dayOfWeek: "SUNDAY"
1The list of conditions to exclude.
If any condition is true, it will prevent the event's execution.
io.kestra.plugin.core.condition.Notio.kestra.core.models.conditions.types.NotConditionio.kestra.plugin.core.condition.NotConditionPass when any condition is true.
Evaluates nested conditions and succeeds if at least one passes.
Useful for schedule scenarios like “weekends or holidays” without duplicating triggers.
Trigger condition to execute the flow when any of the conditions are satisfied.
id: schedule_condition_or
namespace: company.team
tasks:
- id: log_message
type: io.kestra.plugin.core.log.Log
message: "This flow will execute on Sundays and Mondays at 11am."
triggers:
- id: schedule
type: io.kestra.plugin.core.trigger.Schedule
cron: "0 11 * * *"
conditions:
- type: io.kestra.plugin.core.condition.Or
conditions:
- type: io.kestra.plugin.core.condition.DayWeek
dayOfWeek: "MONDAY"
- type: io.kestra.plugin.core.condition.DayWeek
dayOfWeek: "SUNDAY"
1The list of conditions to validate.
If any condition is true, it will allow the event's execution.
io.kestra.plugin.core.condition.Orio.kestra.core.models.conditions.types.OrConditionio.kestra.plugin.core.condition.OrConditionAllow events on public holidays.
Uses the Jollyday calendar to check whether a rendered date (defaults to {{ trigger.date }}) is a public holiday for the given country/sub-division.
If country is omitted, the default locale is used. Provide ISO 3166-1 (country) and optionally 3166-2 (region) codes.
Trigger condition to execute the flow only on public holidays.
id: schedule_condition_public-holiday
namespace: company.team
tasks:
- id: log_message
type: io.kestra.plugin.core.log.Log
message: "This flow will execute only on the public holidays of France at 11:00 am."
triggers:
- id: schedule
type: io.kestra.plugin.core.trigger.Schedule
cron: "0 11 * * *"
conditions:
- type: io.kestra.plugin.core.condition.PublicHoliday
country: FR
Trigger condition to execute the flow only on work days in France.
id: schedule-condition-work-days
namespace: company.team
tasks:
- id: log_message
type: io.kestra.plugin.core.log.Log
message: "This flow will execute only on the work days of France at 11:00 am."
triggers:
- id: schedule
type: io.kestra.plugin.core.trigger.Schedule
cron: "0 11 * * *"
conditions:
- type: io.kestra.plugin.core.condition.Not
conditions:
- type: io.kestra.plugin.core.condition.PublicHoliday
country: FR
- type: io.kestra.plugin.core.condition.Weekend
io.kestra.plugin.core.condition.PublicHolidayio.kestra.plugin.core.condition.PublicHolidayConditionio.kestra.core.models.conditions.types.PublicHolidayConditionISO 3166-1 alpha-2 country code. If not set, it uses the country code from the default locale.
It uses the Jollyday library for public holiday calendar that supports more than 70 countries.
{{ trigger.date}}The date to test.
Can be any variable or any valid ISO 8601 datetime. By default, it will use the trigger date.
ISO 3166-2 country subdivision (e.g., provinces and states) code.
It uses the Jollyday library for public holiday calendar that supports more than 70 countries.
Allow events between two times of day.
Compares the rendered date/time (defaults to the trigger timestamp) against optional after and before offsets (ISO-8601 times).
Supports ranges that cross midnight (e.g., 22: 00→02: 00). At least one bound is required; missing both raises an evaluation error.
Trigger condition to execute the flow between two specific times.
id: schedule_condition_timebetween
namespace: company.team
tasks:
- id: log_message
type: io.kestra.plugin.core.log.Log
message: "This flow will execute every 5 minutes between 4pm and 8pm."
triggers:
- id: schedule
type: io.kestra.plugin.core.trigger.Schedule
cron: "*/5 * * * *"
conditions:
- type: io.kestra.plugin.core.condition.TimeBetween
after: "16:00:00+02:00"
before: "20:00:00+02:00"
io.kestra.plugin.core.condition.TimeBetweenio.kestra.plugin.core.condition.TimeBetweenConditionio.kestra.core.models.conditions.types.TimeBetweenConditionThe time to test must be after this one.
Must be a valid ISO 8601 time with offset.
The time to test must be before this one.
Must be a valid ISO 8601 time with offset.
{{ trigger.date }}The time to test.
Can be any variable or any valid ISO 8601 time. By default, it will use the trigger date.
Allow events on weekends.
Renders a date (defaults to the trigger timestamp) and passes only if it falls on Saturday or Sunday.
Accepts ISO-8601 date/time strings; uses the rendered timezone to determine the day.
Trigger the flow only on weekend, i.e. on Saturdays and Sundays.
id: schedule_condition_weekend
namespace: company.team
tasks:
- id: log_message
type: io.kestra.plugin.core.log.Log
message: "This flow will execute only on weekends at 11:00 am."
triggers:
- id: schedule
type: io.kestra.plugin.core.trigger.Schedule
cron: "0 11 * * *"
conditions:
- type: io.kestra.plugin.core.condition.Weekend
io.kestra.plugin.core.condition.Weekendio.kestra.plugin.core.condition.WeekendConditionio.kestra.core.models.conditions.types.WeekendCondition{{ trigger.date }}The date to test.
Can be any variable or any valid ISO 8601 datetime. By default, it will use the trigger date.
domainId string
Huawei Cloud Account Domain ID
Identifies the Huawei Cloud account (domain). Required when authenticating against global services such as IAM, or when requesting a domain-scoped IAM token.
endpointOverride string
CES endpoint URL override
Overrides the default endpoint derived from region and endpointSuffix. Use this for
private endpoints, non-standard deployments, or tests. When set, endpointSuffix is
ignored.
Format: https://ces.<region>.myhuaweicloud.com (without trailing slash).
endpointSuffix string
Huawei Cloud domain suffix
Controls the top-level domain used when deriving the CES endpoint from region.
Defaults to myhuaweicloud.com. Set to myhuaweicloud.eu for the Huawei Cloud European
sovereign cloud.
Ignored when endpointOverride is set.
interval Non-dynamicstring
PT5MdurationPolling interval
How often the trigger queries CES, as an ISO-8601 duration (e.g. PT5M). Defaults to 5 minutes.
period string
FIVE_MINUTESRAWONE_MINUTEFIVE_MINUTESTWENTY_MINUTESONE_HOURFOUR_HOURSONE_DAYAggregation period
pluginDefaultsRef Non-dynamicstring
Reference (ref) of the pluginDefaults to apply to this trigger.
projectId string
Huawei Cloud Project ID
Identifies the region-scoped project against which most regional services authenticate. Mutually exclusive with domainId for global services such as IAM.
region string
Huawei Cloud region
Region identifier such as eu-west-101, ap-southeast-1, or cn-north-4.
secretAccessKey string
Secret Key (SK) used to authenticate with Huawei Cloud
Huawei Cloud secret key paired with accessKeyId. Required for AK/SK-based authentication. Sensitive — always provide via {{ secret('NAME') }}.
securityToken string
Pre-obtained Huawei Cloud IAM token used as bearer credential for downstream API calls
When set, downstream Huawei tasks send this value in the X-Auth-Token header instead of signing requests with AK/SK. Sensitive.
statistic string
AVERAGEAVERAGEMAXMINSUMVARIANCEStatistic to aggregate datapoints with
stopAfter Non-dynamicarray
CREATEDSUBMITTEDRUNNINGPAUSEDRESTARTEDKILLINGSUCCESSWARNINGFAILEDKILLEDCANCELLEDQUEUEDRETRYINGRETRIEDSKIPPEDBREAKPOINTRESUBMITTEDList of execution states after which a trigger should be stopped (a.k.a. disabled).
temporaryCredentials string
Inline IAM credential exchange
When set, the connection layer calls the Huawei IAM STS API once per task execution and
uses the returned temporary AK/SK + security token instead of the static accessKeyId
and secretAccessKey properties.
Configure once via pluginDefaults to apply transparently to every task in a namespace
without per-task credential wiring:
pluginDefaults:
- type: io.kestra.plugin.huawei.obs
values:
region: eu-west-101
temporaryCredentials:
authMethod: PASSWORD
username: my-iam-user
password: "{{ secret('HUAWEI_IAM_PASSWORD') }}"
domainName: my-account-domain
durationSeconds: 3600
**Long-running tasks: ** the exchange runs once at execution start. For RealtimeTrigger
or long-running Consume tasks that outlive durationSeconds, credentials will expire
mid-run. Use long-lived AK/SK properties or refresh externally in that case.
io.kestra.plugin.huawei.TemporaryCredentialsConfig
PASSWORDPASSWORDTOKENAuthentication method
Controls which credentials are used to obtain the session token before exchanging for temporary STS credentials.
PASSWORD(default): provideusername,password, anddomainName.TOKEN: provide an existingiamToken(X-Auth-Token).
Account domain name (PASSWORD method only)
The Huawei Cloud account name (domain name) that owns the IAM user.
Required when authMethod is PASSWORD. Visible in the Huawei Cloud console under
My Credentials → Domain Name.
900Lifetime of the temporary credentials in seconds
How long the returned temporary AK/SK/security-token should remain valid. Huawei Cloud accepts values between 900 (15 minutes) and 86400 (24 hours). Defaults to 900 seconds.
myhuaweicloud.comHuawei Cloud IAM endpoint suffix
Domain suffix used to build the IAM endpoint URL when no explicit endpoint override is set.
Defaults to myhuaweicloud.com. Set to myhuaweicloud.eu for the European sovereign cloud
(region eu-west-101 / EU-Dublin).
IAM token to exchange (TOKEN method only)
An existing Huawei Cloud X-Auth-Token to exchange for temporary STS credentials.
Required when authMethod is TOKEN. Sensitive — always provide via {{ secret('NAME') }}.
IAM password (PASSWORD method only)
Password for the IAM user identified by username.
Required when authMethod is PASSWORD.
Sensitive — always provide via {{ secret('NAME') }}.
Project name for project-scoped tokens (PASSWORD method only)
Overrides the project name used for scope=PROJECT token requests.
Defaults to the task's region value when omitted, which is correct for most regions.
PROJECTPROJECTDOMAINToken scope (PASSWORD method only)
Scope of the session token obtained during password authentication.
PROJECT(default): token is scoped to the project matchingprojectName(or the task'sregionwhenprojectNameis omitted). Use for most downstream tasks.DOMAIN: token is scoped to the domain.
IAM username (PASSWORD method only)
Huawei Cloud IAM username. Required when authMethod is PASSWORD.
threshold numberstring
Threshold to compare datapoint values against
When set, the trigger only fires if at least one new datapoint's value satisfies
value <comparisonOperator> threshold. When omitted (default), the trigger fires as soon
as any new datapoint is found, regardless of its value.
window string
PT1HTime window to query, ending now
Defaults to PT1H. Maximum: 30 days (P30D).
Outputs
count integer
Number of datapoints returned
series array
Datapoints sorted by timestamp ascending
Capped at 1440 datapoints (the most recent ones) to bound memory usage. Narrow window or increase period if you need finer-grained coverage over a longer range.
io.kestra.plugin.huawei.ces.Query-Point
date-timeDatapoint timestamp
Unit reported by CES for this datapoint
E.g. %, Count, Bytes.
Datapoint value for the requested statistic