diff --git a/pe/docs/AdminSettings.md b/pe/docs/AdminSettings.md index 3c0abbf9..e527b328 100644 --- a/pe/docs/AdminSettings.md +++ b/pe/docs/AdminSettings.md @@ -19,10 +19,10 @@ A JSON value representing the Mail Settings. ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/AdminSettingsId.md b/pe/docs/AdminSettingsId.md index c9d1e2f6..ec86856e 100644 --- a/pe/docs/AdminSettingsId.md +++ b/pe/docs/AdminSettingsId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/Agent.md b/pe/docs/Agent.md new file mode 100644 index 00000000..1a14cffe --- /dev/null +++ b/pe/docs/Agent.md @@ -0,0 +1,40 @@ + +# Agent + +`org.thingsboard.client.model.Agent` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **id** | **AgentId** | JSON object with the Agent Id. Specify this field to update the Agent. Referencing non-existing Agent Id will cause error. Omit this field to create new Agent. | [optional] | +| **createdTime** | **Long** | Timestamp of the agent creation, in milliseconds | [optional] [readonly] | +| **additionalInfo** | **com.fasterxml.jackson.databind.JsonNode** | | [optional] | +| **tenantId** | **TenantId** | JSON object with Tenant Id. Use 'assignAgentToTenant' to change the Tenant Id. | [optional] [readonly] | +| **customerId** | **CustomerId** | JSON object with Customer Id. | [optional] [readonly] | +| **name** | **String** | Unique Agent Name in scope of Tenant | | +| **description** | **String** | Agent description | [optional] | +| **routingKey** | **String** | Agent routing key used for authentication | | +| **secret** | **String** | Agent secret used for authentication | | +| **agentProfileId** | **AgentProfileId** | JSON object with Agent Profile Id. Nullable. | [optional] | +| **version** | **Long** | | [optional] | +| **ownerId** | **EntityId** | JSON object with Customer or Tenant Id | [optional] [readonly] | + + + +## Referenced Types + +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentAppArgument.md b/pe/docs/AgentAppArgument.md new file mode 100644 index 00000000..99c8e88d --- /dev/null +++ b/pe/docs/AgentAppArgument.md @@ -0,0 +1,48 @@ + +# AgentAppArgument + +`org.thingsboard.client.model.AgentAppArgument` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **name** | **String** | Argument name, referenced in the compose as ${tb.}. | [optional] | +| **sourceType** | **AgentAppArgumentSource** | Source entity the value is resolved from. | [optional] | +| **sourceEntityId** | **EntityId** | Concrete source entity id. Required when sourceType references a specific entity (DEVICE, ASSET, CUSTOMER, EDGE); ignored for the context-derived sources. | [optional] | +| **valueType** | **AgentAppArgumentValueType** | Whether the value is read from an attribute or the latest telemetry. | [optional] | +| **scope** | **AttributeScope** | Attribute scope. Applicable only when valueType is ATTRIBUTE. Defaults to SERVER_SCOPE. | [optional] | +| **key** | **String** | Attribute or latest telemetry key to read. | [optional] | +| **defaultValue** | **String** | Optional fallback value used when the source has no value for the key. | [optional] | +| **format** | **AgentAppArgumentFormat** | How the resolved value is injected into the compose: STRING (quoted) or JSON (raw, for arrays/objects/numbers when the placeholder is the whole value). Defaults to STRING. | [optional] | + + + +## Referenced Types + +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. + +#### AgentAppArgumentSource (enum) +`AGENT` | `OWNER` | `RELATED_ENTITY` | `TENANT` | `DEVICE` | `ASSET` | `CUSTOMER` | `EDGE` + +#### AgentAppArgumentValueType (enum) +`ATTRIBUTE` | `LATEST_TELEMETRY` + +#### AttributeScope (enum) +`CLIENT_SCOPE` | `SERVER_SCOPE` | `SHARED_SCOPE` + +#### AgentAppArgumentFormat (enum) +`STRING` | `JSON` + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentAppArgumentFormat.md b/pe/docs/AgentAppArgumentFormat.md new file mode 100644 index 00000000..4d6f0ce9 --- /dev/null +++ b/pe/docs/AgentAppArgumentFormat.md @@ -0,0 +1,23 @@ + +# AgentAppArgumentFormat + +`org.thingsboard.client.model.AgentAppArgumentFormat` + +## Enum Values + + +* `STRING` (value: `"STRING"`) + +* `JSON` (value: `"JSON"`) + + + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentAppArgumentSource.md b/pe/docs/AgentAppArgumentSource.md new file mode 100644 index 00000000..445fd869 --- /dev/null +++ b/pe/docs/AgentAppArgumentSource.md @@ -0,0 +1,35 @@ + +# AgentAppArgumentSource + +`org.thingsboard.client.model.AgentAppArgumentSource` + +## Enum Values + + +* `AGENT` (value: `"AGENT"`) + +* `OWNER` (value: `"OWNER"`) + +* `RELATED_ENTITY` (value: `"RELATED_ENTITY"`) + +* `TENANT` (value: `"TENANT"`) + +* `DEVICE` (value: `"DEVICE"`) + +* `ASSET` (value: `"ASSET"`) + +* `CUSTOMER` (value: `"CUSTOMER"`) + +* `EDGE` (value: `"EDGE"`) + + + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentAppArgumentValueType.md b/pe/docs/AgentAppArgumentValueType.md new file mode 100644 index 00000000..521d77d4 --- /dev/null +++ b/pe/docs/AgentAppArgumentValueType.md @@ -0,0 +1,23 @@ + +# AgentAppArgumentValueType + +`org.thingsboard.client.model.AgentAppArgumentValueType` + +## Enum Values + + +* `ATTRIBUTE` (value: `"ATTRIBUTE"`) + +* `LATEST_TELEMETRY` (value: `"LATEST_TELEMETRY"`) + + + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentAppConfig.md b/pe/docs/AgentAppConfig.md new file mode 100644 index 00000000..fe9f230b --- /dev/null +++ b/pe/docs/AgentAppConfig.md @@ -0,0 +1,58 @@ + +# AgentAppConfig + +`org.thingsboard.client.model.AgentAppConfig` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **arguments** | **List\** | | [optional] | +| **edgeRoutingKey** | **String** | | [optional] | +| **type** | **AgentAppConfigType** | | [optional] | + + + +## Referenced Types + +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. + +#### AgentAppArgument +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| name | String | Argument name, referenced in the compose as ${tb.}. | [optional] | +| sourceType | AgentAppArgumentSource | Source entity the value is resolved from. | [optional] | +| sourceEntityId | EntityId | Concrete source entity id. Required when sourceType references a specific entity (DEVICE, ASSET, CUSTOMER, EDGE); ignored for the context-derived sources. | [optional] | +| valueType | AgentAppArgumentValueType | Whether the value is read from an attribute or the latest telemetry. | [optional] | +| scope | AttributeScope | Attribute scope. Applicable only when valueType is ATTRIBUTE. Defaults to SERVER_SCOPE. | [optional] | +| key | String | Attribute or latest telemetry key to read. | [optional] | +| defaultValue | String | Optional fallback value used when the source has no value for the key. | [optional] | +| format | AgentAppArgumentFormat | How the resolved value is injected into the compose: STRING (quoted) or JSON (raw, for arrays/objects/numbers when the placeholder is the whole value). Defaults to STRING. | [optional] | + +#### AgentAppConfigType (enum) +`DOCKER_COMPOSE` + +#### AgentAppArgumentSource (enum) +`AGENT` | `OWNER` | `RELATED_ENTITY` | `TENANT` | `DEVICE` | `ASSET` | `CUSTOMER` | `EDGE` + +#### AgentAppArgumentValueType (enum) +`ATTRIBUTE` | `LATEST_TELEMETRY` + +#### AttributeScope (enum) +`CLIENT_SCOPE` | `SERVER_SCOPE` | `SHARED_SCOPE` + +#### AgentAppArgumentFormat (enum) +`STRING` | `JSON` + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentAppConfigType.md b/pe/docs/AgentAppConfigType.md new file mode 100644 index 00000000..a45dfb28 --- /dev/null +++ b/pe/docs/AgentAppConfigType.md @@ -0,0 +1,21 @@ + +# AgentAppConfigType + +`org.thingsboard.client.model.AgentAppConfigType` + +## Enum Values + + +* `DOCKER_COMPOSE` (value: `"DOCKER_COMPOSE"`) + + + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentAppEvent.md b/pe/docs/AgentAppEvent.md new file mode 100644 index 00000000..436cf205 --- /dev/null +++ b/pe/docs/AgentAppEvent.md @@ -0,0 +1,107 @@ + +# AgentAppEvent + +`org.thingsboard.client.model.AgentAppEvent` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **id** | **AgentAppEventId** | JSON object with the Agent App Event Id. | [optional] | +| **createdTime** | **Long** | Timestamp of the event creation, in milliseconds | [optional] [readonly] | +| **tenantId** | **TenantId** | | [optional] | +| **applicationId** | **AgentApplicationId** | | [optional] | +| **agentId** | **AgentId** | | [optional] | +| **applicationName** | **String** | | [optional] | +| **actionType** | **AgentAppEventActionType** | | [optional] | +| **startStatus** | **ProcessingStartStatus** | | [optional] | +| **processingStatus** | **AgentProcessingStatus** | | [optional] | +| **currentStepId** | **UUID** | | [optional] | +| **currentActivity** | **String** | | [optional] | +| **errorMessage** | **String** | | [optional] | +| **updatedTime** | **Long** | | [optional] | +| **stepStates** | **Map\** | | [optional] | +| **bulkActionId** | **UUID** | | [optional] | +| **resolvedArguments** | **Map\** | | [optional] | +| **winnerContainerId** | **String** | | [optional] | +| **finalizeDeadlineTs** | **Long** | | [optional] | +| **contextMetadata** | **Map\** | | [optional] | + + + +## Referenced Types + +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. + +#### AgentAppEventActionType (enum) +`INSTALL` | `UPDATE` | `DELETE` | `RESTART` | `ROLLBACK` | `UPGRADE` | `AGENT_UPGRADE` + +#### ProcessingStartStatus (enum) +`DELIVERY_FAIL` | `PENDING` | `DELIVERED` + +#### AgentProcessingStatus (enum) +`PENDING` | `QUEUED` | `PROCESSING` | `FINISHED` | `ERROR` | `START_FAILED` + +#### AgentAppEventStepStatesValue +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| type | AgentAppStepType | | [optional] | +| backupVolumes | StepFieldListString | | [optional] | +| serviceImageRegexPatterns | StepFieldListString | | [optional] | +| removeVolumes | StepFieldBoolean | | [optional] | +| pullImages | StepFieldBoolean | | [optional] | +| failedEventId | StepFieldAgentAppEventId | | [optional] | +| image | StepFieldString | | [optional] | +| entrypoint | StepFieldListString | | [optional] | +| cmd | StepFieldListString | | [optional] | +| env | StepFieldListString | | [optional] | +| binds | StepFieldListString | | [optional] | +| networks | StepFieldListString | | [optional] | +| retries | StepFieldInteger | | [optional] | +| networkFromServiceImageRegexPattern | StepFieldString | | [optional] | + +#### AgentAppStepType (enum) +`COMPOSE_TEMPLATE` | `COMPOSE` | `COMPOSE_START` | `COMPOSE_DOWN` | `ROLLBACK` | `BACKUP_VOLUME` | `BACKUP_VOLUME_REMOVE` | `COMPOSE_RESTART` | `RUN_JOB` | `AGENT_PREPARE` | … (11 values total) + +#### StepFieldListString +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| userChoice | Boolean | | [optional] | +| value | List | | [optional] | + +#### StepFieldBoolean +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | Boolean | | [optional] | +| userChoice | Boolean | | [optional] | + +#### StepFieldAgentAppEventId +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | AgentAppEventId | | [optional] | +| userChoice | Boolean | | [optional] | + +#### StepFieldString +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | String | | [optional] | +| userChoice | Boolean | | [optional] | + +#### StepFieldInteger +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | Integer | | [optional] | +| userChoice | Boolean | | [optional] | + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentAppEventActionType.md b/pe/docs/AgentAppEventActionType.md new file mode 100644 index 00000000..4f96f5d9 --- /dev/null +++ b/pe/docs/AgentAppEventActionType.md @@ -0,0 +1,33 @@ + +# AgentAppEventActionType + +`org.thingsboard.client.model.AgentAppEventActionType` + +## Enum Values + + +* `INSTALL` (value: `"INSTALL"`) + +* `UPDATE` (value: `"UPDATE"`) + +* `DELETE` (value: `"DELETE"`) + +* `RESTART` (value: `"RESTART"`) + +* `ROLLBACK` (value: `"ROLLBACK"`) + +* `UPGRADE` (value: `"UPGRADE"`) + +* `AGENT_UPGRADE` (value: `"AGENT_UPGRADE"`) + + + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentAppEventId.md b/pe/docs/AgentAppEventId.md new file mode 100644 index 00000000..ff8aa7cf --- /dev/null +++ b/pe/docs/AgentAppEventId.md @@ -0,0 +1,30 @@ + +# AgentAppEventId + +`org.thingsboard.client.model.AgentAppEventId` + +**Extends:** **EntityId** + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| + + + +## Referenced Types + +> **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentAppEventInfo.md b/pe/docs/AgentAppEventInfo.md new file mode 100644 index 00000000..8302bf8b --- /dev/null +++ b/pe/docs/AgentAppEventInfo.md @@ -0,0 +1,108 @@ + +# AgentAppEventInfo + +`org.thingsboard.client.model.AgentAppEventInfo` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **id** | **AgentAppEventId** | JSON object with the Agent App Event Id. | [optional] | +| **createdTime** | **Long** | Timestamp of the event creation, in milliseconds | [optional] [readonly] | +| **tenantId** | **TenantId** | | [optional] | +| **applicationId** | **AgentApplicationId** | | [optional] | +| **agentId** | **AgentId** | | [optional] | +| **applicationName** | **String** | | [optional] | +| **actionType** | **AgentAppEventActionType** | | [optional] | +| **startStatus** | **ProcessingStartStatus** | | [optional] | +| **processingStatus** | **AgentProcessingStatus** | | [optional] | +| **currentStepId** | **UUID** | | [optional] | +| **currentActivity** | **String** | | [optional] | +| **errorMessage** | **String** | | [optional] | +| **updatedTime** | **Long** | | [optional] | +| **stepStates** | **Map\** | | [optional] | +| **bulkActionId** | **UUID** | | [optional] | +| **resolvedArguments** | **Map\** | | [optional] | +| **winnerContainerId** | **String** | | [optional] | +| **finalizeDeadlineTs** | **Long** | | [optional] | +| **contextMetadata** | **Map\** | | [optional] | +| **agentName** | **String** | Name of the Agent that owns the Application. | [optional] [readonly] | + + + +## Referenced Types + +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. + +#### AgentAppEventActionType (enum) +`INSTALL` | `UPDATE` | `DELETE` | `RESTART` | `ROLLBACK` | `UPGRADE` | `AGENT_UPGRADE` + +#### ProcessingStartStatus (enum) +`DELIVERY_FAIL` | `PENDING` | `DELIVERED` + +#### AgentProcessingStatus (enum) +`PENDING` | `QUEUED` | `PROCESSING` | `FINISHED` | `ERROR` | `START_FAILED` + +#### AgentAppEventStepStatesValue +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| type | AgentAppStepType | | [optional] | +| backupVolumes | StepFieldListString | | [optional] | +| serviceImageRegexPatterns | StepFieldListString | | [optional] | +| removeVolumes | StepFieldBoolean | | [optional] | +| pullImages | StepFieldBoolean | | [optional] | +| failedEventId | StepFieldAgentAppEventId | | [optional] | +| image | StepFieldString | | [optional] | +| entrypoint | StepFieldListString | | [optional] | +| cmd | StepFieldListString | | [optional] | +| env | StepFieldListString | | [optional] | +| binds | StepFieldListString | | [optional] | +| networks | StepFieldListString | | [optional] | +| retries | StepFieldInteger | | [optional] | +| networkFromServiceImageRegexPattern | StepFieldString | | [optional] | + +#### AgentAppStepType (enum) +`COMPOSE_TEMPLATE` | `COMPOSE` | `COMPOSE_START` | `COMPOSE_DOWN` | `ROLLBACK` | `BACKUP_VOLUME` | `BACKUP_VOLUME_REMOVE` | `COMPOSE_RESTART` | `RUN_JOB` | `AGENT_PREPARE` | … (11 values total) + +#### StepFieldListString +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| userChoice | Boolean | | [optional] | +| value | List | | [optional] | + +#### StepFieldBoolean +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | Boolean | | [optional] | +| userChoice | Boolean | | [optional] | + +#### StepFieldAgentAppEventId +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | AgentAppEventId | | [optional] | +| userChoice | Boolean | | [optional] | + +#### StepFieldString +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | String | | [optional] | +| userChoice | Boolean | | [optional] | + +#### StepFieldInteger +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | Integer | | [optional] | +| userChoice | Boolean | | [optional] | + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentAppEventRequest.md b/pe/docs/AgentAppEventRequest.md new file mode 100644 index 00000000..1455c3eb --- /dev/null +++ b/pe/docs/AgentAppEventRequest.md @@ -0,0 +1,155 @@ + +# AgentAppEventRequest + +`org.thingsboard.client.model.AgentAppEventRequest` + +Request payload for creating an agent application event (install, update, upgrade, restart, delete, etc.). + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **actionType** | **AgentAppEventActionType** | Action to perform against the agent application. | [optional] | +| **application** | **AgentApplication** | Agent application payload supplied by the caller. Used to carry name/config changes for UPDATE and the target state for INSTALL/UPGRADE. | [optional] | +| **stepInputs** | **Map\** | Per-step input overrides keyed by step id (e.g. pullImages flag, backup volume selection). | [optional] | +| **relatedEntityId** | **EntityId** | INSTALL-action optional related entity (Edge or Gateway Device) to link to the application in the same operation. When set, the application is created and the relation is assigned atomically. Ignored for non-INSTALL actions. | [optional] | +| **bulkActionId** | **UUID** | Optional bulk-action correlation id. When the same value is used across multiple application events, duplicates are deduplicated server-side. | [optional] | +| **skipProfileRefetch** | **Boolean** | UPDATE-action flag for profile-managed apps. When true, the compose is not re-resolved from the (possibly upgraded) profile — only the credentials carried by `application.config` are applied. Ignored for non-UPDATE actions and for non-profile-managed apps. | [optional] | + + + +## Referenced Types + +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. + +#### AgentAppEventActionType (enum) +`INSTALL` | `UPDATE` | `DELETE` | `RESTART` | `ROLLBACK` | `UPGRADE` | `AGENT_UPGRADE` + +#### AgentApplication +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| id | AgentApplicationId | JSON object with the Agent Application Id. | [optional] | +| createdTime | Long | Timestamp of the agent application creation, in milliseconds | [optional] [readonly] | +| tenantId | TenantId | JSON object with Tenant Id. | [optional] [readonly] | +| agentId | AgentId | Agent this application belongs to | | +| name | String | Application name (not unique across tenant) | [optional] | +| templateVersion | String | Template version this application is based on | | +| desiredTemplateVersion | String | | [optional] | +| appType | AgentApplicationType | Application type | | +| config | DockerComposeConfig | | [optional] | +| version | Long | | [optional] | +| projectName | String | | [optional] | +| pendingDeletion | Boolean | | [optional] | +| origin | AgentApplicationOrigin | Origin of the application (INSTALLED or DISCOVERED) | [optional] | +| applicationProfileId | AgentAppProfileId | Application Profile Id. When set, config is read-only and inherited from the profile. | [optional] | +| profileConfigVersion | Long | | [optional] | + +#### AgentAppEventStepStatesValue +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| type | AgentAppStepType | | [optional] | +| backupVolumes | StepFieldListString | | [optional] | +| serviceImageRegexPatterns | StepFieldListString | | [optional] | +| removeVolumes | StepFieldBoolean | | [optional] | +| pullImages | StepFieldBoolean | | [optional] | +| failedEventId | StepFieldAgentAppEventId | | [optional] | +| image | StepFieldString | | [optional] | +| entrypoint | StepFieldListString | | [optional] | +| cmd | StepFieldListString | | [optional] | +| env | StepFieldListString | | [optional] | +| binds | StepFieldListString | | [optional] | +| networks | StepFieldListString | | [optional] | +| retries | StepFieldInteger | | [optional] | +| networkFromServiceImageRegexPattern | StepFieldString | | [optional] | + +#### AgentApplicationType (enum) +`GENERIC` | `EDGE` | `GATEWAY` + +#### DockerComposeConfig *(extends AgentAppConfig)* +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| compose | com.fasterxml.jackson.databind.JsonNode | | [optional] | +| composeType | String | | [optional] | + +#### AgentApplicationOrigin (enum) +`INSTALLED` | `DISCOVERED` | `AUTO_PROVISIONED` + +#### AgentAppStepType (enum) +`COMPOSE_TEMPLATE` | `COMPOSE` | `COMPOSE_START` | `COMPOSE_DOWN` | `ROLLBACK` | `BACKUP_VOLUME` | `BACKUP_VOLUME_REMOVE` | `COMPOSE_RESTART` | `RUN_JOB` | `AGENT_PREPARE` | … (11 values total) + +#### StepFieldListString +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| userChoice | Boolean | | [optional] | +| value | List | | [optional] | + +#### StepFieldBoolean +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | Boolean | | [optional] | +| userChoice | Boolean | | [optional] | + +#### StepFieldAgentAppEventId +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | AgentAppEventId | | [optional] | +| userChoice | Boolean | | [optional] | + +#### StepFieldString +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | String | | [optional] | +| userChoice | Boolean | | [optional] | + +#### StepFieldInteger +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | Integer | | [optional] | +| userChoice | Boolean | | [optional] | + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +#### AgentAppConfig +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| arguments | List | | [optional] | +| edgeRoutingKey | String | | [optional] | +| type | AgentAppConfigType | | [optional] | + +#### AgentAppArgument +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| name | String | Argument name, referenced in the compose as ${tb.}. | [optional] | +| sourceType | AgentAppArgumentSource | Source entity the value is resolved from. | [optional] | +| sourceEntityId | EntityId | Concrete source entity id. Required when sourceType references a specific entity (DEVICE, ASSET, CUSTOMER, EDGE); ignored for the context-derived sources. | [optional] | +| valueType | AgentAppArgumentValueType | Whether the value is read from an attribute or the latest telemetry. | [optional] | +| scope | AttributeScope | Attribute scope. Applicable only when valueType is ATTRIBUTE. Defaults to SERVER_SCOPE. | [optional] | +| key | String | Attribute or latest telemetry key to read. | [optional] | +| defaultValue | String | Optional fallback value used when the source has no value for the key. | [optional] | +| format | AgentAppArgumentFormat | How the resolved value is injected into the compose: STRING (quoted) or JSON (raw, for arrays/objects/numbers when the placeholder is the whole value). Defaults to STRING. | [optional] | + +#### AgentAppConfigType (enum) +`DOCKER_COMPOSE` + +#### AgentAppArgumentSource (enum) +`AGENT` | `OWNER` | `RELATED_ENTITY` | `TENANT` | `DEVICE` | `ASSET` | `CUSTOMER` | `EDGE` + +#### AgentAppArgumentValueType (enum) +`ATTRIBUTE` | `LATEST_TELEMETRY` + +#### AttributeScope (enum) +`CLIENT_SCOPE` | `SERVER_SCOPE` | `SHARED_SCOPE` + +#### AgentAppArgumentFormat (enum) +`STRING` | `JSON` + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentAppEventStepStatesValue.md b/pe/docs/AgentAppEventStepStatesValue.md new file mode 100644 index 00000000..68c4eccc --- /dev/null +++ b/pe/docs/AgentAppEventStepStatesValue.md @@ -0,0 +1,75 @@ + +# AgentAppEventStepStatesValue + +`org.thingsboard.client.model.AgentAppEventStepStatesValue` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **type** | **AgentAppStepType** | | [optional] | +| **backupVolumes** | **StepFieldListString** | | [optional] | +| **serviceImageRegexPatterns** | **StepFieldListString** | | [optional] | +| **removeVolumes** | **StepFieldBoolean** | | [optional] | +| **pullImages** | **StepFieldBoolean** | | [optional] | +| **failedEventId** | **StepFieldAgentAppEventId** | | [optional] | +| **image** | **StepFieldString** | | [optional] | +| **entrypoint** | **StepFieldListString** | | [optional] | +| **cmd** | **StepFieldListString** | | [optional] | +| **env** | **StepFieldListString** | | [optional] | +| **binds** | **StepFieldListString** | | [optional] | +| **networks** | **StepFieldListString** | | [optional] | +| **retries** | **StepFieldInteger** | | [optional] | +| **networkFromServiceImageRegexPattern** | **StepFieldString** | | [optional] | + + + +## Referenced Types + +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. + +#### AgentAppStepType (enum) +`COMPOSE_TEMPLATE` | `COMPOSE` | `COMPOSE_START` | `COMPOSE_DOWN` | `ROLLBACK` | `BACKUP_VOLUME` | `BACKUP_VOLUME_REMOVE` | `COMPOSE_RESTART` | `RUN_JOB` | `AGENT_PREPARE` | … (11 values total) + +#### StepFieldListString +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| userChoice | Boolean | | [optional] | +| value | List | | [optional] | + +#### StepFieldBoolean +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | Boolean | | [optional] | +| userChoice | Boolean | | [optional] | + +#### StepFieldAgentAppEventId +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | AgentAppEventId | | [optional] | +| userChoice | Boolean | | [optional] | + +#### StepFieldString +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | String | | [optional] | +| userChoice | Boolean | | [optional] | + +#### StepFieldInteger +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | Integer | | [optional] | +| userChoice | Boolean | | [optional] | + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentAppInstallResponse.md b/pe/docs/AgentAppInstallResponse.md new file mode 100644 index 00000000..d5f1b360 --- /dev/null +++ b/pe/docs/AgentAppInstallResponse.md @@ -0,0 +1,180 @@ + +# AgentAppInstallResponse + +`org.thingsboard.client.model.AgentAppInstallResponse` + +Response payload for the install-agent-application endpoint. Carries both the created application and the INSTALL event so the caller can open a progress dialog without a second round-trip. + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **application** | **AgentApplication** | The newly created agent application. | [optional] | +| **event** | **AgentAppEvent** | The INSTALL event created alongside the application. | [optional] | + + + +## Referenced Types + +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. + +#### AgentApplication +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| id | AgentApplicationId | JSON object with the Agent Application Id. | [optional] | +| createdTime | Long | Timestamp of the agent application creation, in milliseconds | [optional] [readonly] | +| tenantId | TenantId | JSON object with Tenant Id. | [optional] [readonly] | +| agentId | AgentId | Agent this application belongs to | | +| name | String | Application name (not unique across tenant) | [optional] | +| templateVersion | String | Template version this application is based on | | +| desiredTemplateVersion | String | | [optional] | +| appType | AgentApplicationType | Application type | | +| config | DockerComposeConfig | | [optional] | +| version | Long | | [optional] | +| projectName | String | | [optional] | +| pendingDeletion | Boolean | | [optional] | +| origin | AgentApplicationOrigin | Origin of the application (INSTALLED or DISCOVERED) | [optional] | +| applicationProfileId | AgentAppProfileId | Application Profile Id. When set, config is read-only and inherited from the profile. | [optional] | +| profileConfigVersion | Long | | [optional] | + +#### AgentAppEvent +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| id | AgentAppEventId | JSON object with the Agent App Event Id. | [optional] | +| createdTime | Long | Timestamp of the event creation, in milliseconds | [optional] [readonly] | +| tenantId | TenantId | | [optional] | +| applicationId | AgentApplicationId | | [optional] | +| agentId | AgentId | | [optional] | +| applicationName | String | | [optional] | +| actionType | AgentAppEventActionType | | [optional] | +| startStatus | ProcessingStartStatus | | [optional] | +| processingStatus | AgentProcessingStatus | | [optional] | +| currentStepId | UUID | | [optional] | +| currentActivity | String | | [optional] | +| errorMessage | String | | [optional] | +| updatedTime | Long | | [optional] | +| stepStates | Map | | [optional] | +| bulkActionId | UUID | | [optional] | +| resolvedArguments | Map | | [optional] | +| winnerContainerId | String | | [optional] | +| finalizeDeadlineTs | Long | | [optional] | +| contextMetadata | Map | | [optional] | + +#### AgentApplicationType (enum) +`GENERIC` | `EDGE` | `GATEWAY` + +#### DockerComposeConfig *(extends AgentAppConfig)* +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| compose | com.fasterxml.jackson.databind.JsonNode | | [optional] | +| composeType | String | | [optional] | + +#### AgentApplicationOrigin (enum) +`INSTALLED` | `DISCOVERED` | `AUTO_PROVISIONED` + +#### AgentAppEventActionType (enum) +`INSTALL` | `UPDATE` | `DELETE` | `RESTART` | `ROLLBACK` | `UPGRADE` | `AGENT_UPGRADE` + +#### ProcessingStartStatus (enum) +`DELIVERY_FAIL` | `PENDING` | `DELIVERED` + +#### AgentProcessingStatus (enum) +`PENDING` | `QUEUED` | `PROCESSING` | `FINISHED` | `ERROR` | `START_FAILED` + +#### AgentAppEventStepStatesValue +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| type | AgentAppStepType | | [optional] | +| backupVolumes | StepFieldListString | | [optional] | +| serviceImageRegexPatterns | StepFieldListString | | [optional] | +| removeVolumes | StepFieldBoolean | | [optional] | +| pullImages | StepFieldBoolean | | [optional] | +| failedEventId | StepFieldAgentAppEventId | | [optional] | +| image | StepFieldString | | [optional] | +| entrypoint | StepFieldListString | | [optional] | +| cmd | StepFieldListString | | [optional] | +| env | StepFieldListString | | [optional] | +| binds | StepFieldListString | | [optional] | +| networks | StepFieldListString | | [optional] | +| retries | StepFieldInteger | | [optional] | +| networkFromServiceImageRegexPattern | StepFieldString | | [optional] | + +#### AgentAppConfig +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| arguments | List | | [optional] | +| edgeRoutingKey | String | | [optional] | +| type | AgentAppConfigType | | [optional] | + +#### AgentAppStepType (enum) +`COMPOSE_TEMPLATE` | `COMPOSE` | `COMPOSE_START` | `COMPOSE_DOWN` | `ROLLBACK` | `BACKUP_VOLUME` | `BACKUP_VOLUME_REMOVE` | `COMPOSE_RESTART` | `RUN_JOB` | `AGENT_PREPARE` | … (11 values total) + +#### StepFieldListString +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| userChoice | Boolean | | [optional] | +| value | List | | [optional] | + +#### StepFieldBoolean +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | Boolean | | [optional] | +| userChoice | Boolean | | [optional] | + +#### StepFieldAgentAppEventId +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | AgentAppEventId | | [optional] | +| userChoice | Boolean | | [optional] | + +#### StepFieldString +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | String | | [optional] | +| userChoice | Boolean | | [optional] | + +#### StepFieldInteger +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | Integer | | [optional] | +| userChoice | Boolean | | [optional] | + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +#### AgentAppArgument +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| name | String | Argument name, referenced in the compose as ${tb.}. | [optional] | +| sourceType | AgentAppArgumentSource | Source entity the value is resolved from. | [optional] | +| sourceEntityId | EntityId | Concrete source entity id. Required when sourceType references a specific entity (DEVICE, ASSET, CUSTOMER, EDGE); ignored for the context-derived sources. | [optional] | +| valueType | AgentAppArgumentValueType | Whether the value is read from an attribute or the latest telemetry. | [optional] | +| scope | AttributeScope | Attribute scope. Applicable only when valueType is ATTRIBUTE. Defaults to SERVER_SCOPE. | [optional] | +| key | String | Attribute or latest telemetry key to read. | [optional] | +| defaultValue | String | Optional fallback value used when the source has no value for the key. | [optional] | +| format | AgentAppArgumentFormat | How the resolved value is injected into the compose: STRING (quoted) or JSON (raw, for arrays/objects/numbers when the placeholder is the whole value). Defaults to STRING. | [optional] | + +#### AgentAppConfigType (enum) +`DOCKER_COMPOSE` + +#### AgentAppArgumentSource (enum) +`AGENT` | `OWNER` | `RELATED_ENTITY` | `TENANT` | `DEVICE` | `ASSET` | `CUSTOMER` | `EDGE` + +#### AgentAppArgumentValueType (enum) +`ATTRIBUTE` | `LATEST_TELEMETRY` + +#### AttributeScope (enum) +`CLIENT_SCOPE` | `SERVER_SCOPE` | `SHARED_SCOPE` + +#### AgentAppArgumentFormat (enum) +`STRING` | `JSON` + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentAppProfile.md b/pe/docs/AgentAppProfile.md new file mode 100644 index 00000000..4c76b244 --- /dev/null +++ b/pe/docs/AgentAppProfile.md @@ -0,0 +1,80 @@ + +# AgentAppProfile + +`org.thingsboard.client.model.AgentAppProfile` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **id** | **AgentAppProfileId** | JSON object with the Agent Application Profile Id. | [optional] | +| **createdTime** | **Long** | Timestamp of the profile creation, in milliseconds | [optional] [readonly] | +| **tenantId** | **TenantId** | JSON object with Tenant Id. | [optional] [readonly] | +| **name** | **String** | Unique profile name within tenant | | +| **description** | **String** | Profile description | [optional] | +| **appType** | **AgentApplicationType** | Application type: EDGE, GATEWAY, or GENERIC | | +| **templateVersion** | **String** | Template version this profile is based on | | +| **config** | **DockerComposeConfig** | | [optional] | +| **version** | **Long** | | [optional] | + + + +## Referenced Types + +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. + +#### AgentApplicationType (enum) +`GENERIC` | `EDGE` | `GATEWAY` + +#### DockerComposeConfig *(extends AgentAppConfig)* +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| compose | com.fasterxml.jackson.databind.JsonNode | | [optional] | +| composeType | String | | [optional] | + +#### AgentAppConfig +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| arguments | List | | [optional] | +| edgeRoutingKey | String | | [optional] | +| type | AgentAppConfigType | | [optional] | + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +#### AgentAppArgument +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| name | String | Argument name, referenced in the compose as ${tb.}. | [optional] | +| sourceType | AgentAppArgumentSource | Source entity the value is resolved from. | [optional] | +| sourceEntityId | EntityId | Concrete source entity id. Required when sourceType references a specific entity (DEVICE, ASSET, CUSTOMER, EDGE); ignored for the context-derived sources. | [optional] | +| valueType | AgentAppArgumentValueType | Whether the value is read from an attribute or the latest telemetry. | [optional] | +| scope | AttributeScope | Attribute scope. Applicable only when valueType is ATTRIBUTE. Defaults to SERVER_SCOPE. | [optional] | +| key | String | Attribute or latest telemetry key to read. | [optional] | +| defaultValue | String | Optional fallback value used when the source has no value for the key. | [optional] | +| format | AgentAppArgumentFormat | How the resolved value is injected into the compose: STRING (quoted) or JSON (raw, for arrays/objects/numbers when the placeholder is the whole value). Defaults to STRING. | [optional] | + +#### AgentAppConfigType (enum) +`DOCKER_COMPOSE` + +#### AgentAppArgumentSource (enum) +`AGENT` | `OWNER` | `RELATED_ENTITY` | `TENANT` | `DEVICE` | `ASSET` | `CUSTOMER` | `EDGE` + +#### AgentAppArgumentValueType (enum) +`ATTRIBUTE` | `LATEST_TELEMETRY` + +#### AttributeScope (enum) +`CLIENT_SCOPE` | `SERVER_SCOPE` | `SHARED_SCOPE` + +#### AgentAppArgumentFormat (enum) +`STRING` | `JSON` + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentAppProfileControllerApi.md b/pe/docs/AgentAppProfileControllerApi.md new file mode 100644 index 00000000..47668764 --- /dev/null +++ b/pe/docs/AgentAppProfileControllerApi.md @@ -0,0 +1,242 @@ +# AgentAppProfileControllerApi + +`ThingsboardClient` methods: + +``` +void deleteAgentAppProfile(@Nonnull String profileId) // Delete Agent Application Profile (deleteAgentAppProfile) +AgentAppProfile getAgentAppProfileById(@Nonnull String profileId) // Get Agent Application Profile (getAgentAppProfileById) +AgentAppProfileInfo getAgentAppProfileInfoById(@Nonnull String profileId) // Get Agent Application Profile Info (getAgentAppProfileInfoById) +List getAgentAppProfilesByAppType(@Nonnull AgentApplicationType appType) // Get Agent Application Profiles by app type (getAgentAppProfilesByAppType) +List getAgentAppProfilesByIds(@Nonnull List agentAppProfileIds) // Get Agent Application Profiles By Ids (getAgentAppProfilesByIds) +PageDataAgentAppProfile getTenantAgentAppProfiles(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder) // Get Tenant Agent Application Profiles (getTenantAgentAppProfiles) +AgentAppProfile materializeAgentAppProfile(@Nonnull AgentApplicationType appType, @Nonnull String templateVersion, @Nullable String composeType) // Create Agent Application Profile from template (materializeAgentAppProfile) +AgentAppProfile mergeAgentAppProfileForPreview(@Nonnull String templateVersion, @Nonnull AgentAppProfile agentAppProfile, @Nullable String composeType, @Nullable AgentAppEventActionType actionType, @Nullable Boolean setHostValues) // Merge template into application profile for preview (mergeAgentAppProfileForPreview) +AgentAppProfile saveAgentAppProfile(@Nonnull AgentAppProfile agentAppProfile) // Create or Update Agent Application Profile (saveAgentAppProfile) +``` + + +## deleteAgentAppProfile + +``` +void deleteAgentAppProfile(@Nonnull String profileId) +``` + +**DELETE** `/api/agent/app/profile/{profileId}` + +Delete Agent Application Profile (deleteAgentAppProfile) + +Deletes the agent application profile. Cannot delete if referenced by applications. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **profileId** | **String** | Profile Id | | + +### Return type + +null (empty response body) + + +## getAgentAppProfileById + +``` +AgentAppProfile getAgentAppProfileById(@Nonnull String profileId) +``` + +**GET** `/api/agent/app/profile/{profileId}` + +Get Agent Application Profile (getAgentAppProfileById) + +Fetch the Agent Application Profile by Id. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **profileId** | **String** | Profile Id | | + +### Return type + +**AgentAppProfile** + + +## getAgentAppProfileInfoById + +``` +AgentAppProfileInfo getAgentAppProfileInfoById(@Nonnull String profileId) +``` + +**GET** `/api/agent/app/profile/info/{profileId}` + +Get Agent Application Profile Info (getAgentAppProfileInfoById) + +Fetch the Agent Application Profile Info by Id. Readable by any tenant admin without AGENT_APP_PROFILE permission, so agent/application screens can resolve the linked profile. Returns the full profile, config and arguments included - an application profile carries deployment configuration rather than credentials, so it is not gated like other profiles. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **profileId** | **String** | Profile Id | | + +### Return type + +**AgentAppProfileInfo** + + +## getAgentAppProfilesByAppType + +``` +List getAgentAppProfilesByAppType(@Nonnull AgentApplicationType appType) +``` + +**GET** `/api/agent/app/profiles/{appType}` + +Get Agent Application Profiles by app type (getAgentAppProfilesByAppType) + +Returns a list of agent application profiles filtered by application type. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **appType** | **AgentApplicationType** | Application type, e.g. 'EDGE', 'GATEWAY', 'GENERIC' | [enum: GENERIC, EDGE, GATEWAY] | + +### Return type + +**List** + + +## getAgentAppProfilesByIds + +``` +List getAgentAppProfilesByIds(@Nonnull List agentAppProfileIds) +``` + +**GET** `/api/agent/app/profiles` + +Get Agent Application Profiles By Ids (getAgentAppProfilesByIds) + +Requested agent application profiles must be owned by tenant which is performing the request. Security check is performed to verify that the user has 'READ' permission for the entity (entities). + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentAppProfileIds** | **List** | A list of agent application profile ids, separated by comma ',' | | + +### Return type + +**List** + + +## getTenantAgentAppProfiles + +``` +PageDataAgentAppProfile getTenantAgentAppProfiles(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder) +``` + +**GET** `/api/tenant/agent/app/profiles` + +Get Tenant Agent Application Profiles (getTenantAgentAppProfiles) + +Returns a page of agent application profiles owned by tenant.You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **pageSize** | **Integer** | Maximum amount of entities in a one page | | +| **page** | **Integer** | Sequence number of page starting from 0 | | +| **textSearch** | **String** | Optional search text | [optional] | +| **sortProperty** | **String** | Property of entity to sort by | [optional] [enum: createdTime, name] | +| **sortOrder** | **String** | Sort order. ASC (ASCENDING) or DESC (DESCENDING) | [optional] [enum: ASC, DESC] | + +### Return type + +**PageDataAgentAppProfile** + + +## materializeAgentAppProfile + +``` +AgentAppProfile materializeAgentAppProfile(@Nonnull AgentApplicationType appType, @Nonnull String templateVersion, @Nullable String composeType) +``` + +**POST** `/api/agent/app/profile/materialize/{appType}/{templateVersion}` + +Create Agent Application Profile from template (materializeAgentAppProfile) + +Creates an agent application profile from the default configuration of the template with the given app type and version. Used to materialize a predefined (virtual) profile shown in the UI into a real profile on first use. If a profile with the given app type and template version already exists, the existing profile is returned (the oldest one by created time) instead of creating a new one. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **appType** | **AgentApplicationType** | Application type, e.g. 'EDGE', 'GATEWAY', 'GENERIC' | [enum: GENERIC, EDGE, GATEWAY] | +| **templateVersion** | **String** | The template version to materialize (e.g. '4.3.1.2EDGEPE') | | +| **composeType** | **String** | The compose type to select from the template (e.g. 'in_memory', 'kafka'). Defaults to the template's first compose type. | [optional] | + +### Return type + +**AgentAppProfile** + + +## mergeAgentAppProfileForPreview + +``` +AgentAppProfile mergeAgentAppProfileForPreview(@Nonnull String templateVersion, @Nonnull AgentAppProfile agentAppProfile, @Nullable String composeType, @Nullable AgentAppEventActionType actionType, @Nullable Boolean setHostValues) +``` + +**POST** `/api/agent/app/profiles/merge/{templateVersion}/preview` + +Merge template into application profile for preview (mergeAgentAppProfileForPreview) + +Merges the specified template into an agent application profile for preview purposes. The compose type determines which compose configuration variant from the template is used. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **templateVersion** | **String** | The template version to merge (e.g. '4.3.1.2EDGEPE') | | +| **agentAppProfile** | **AgentAppProfile** | Agent application profile to merge template with | | +| **composeType** | **String** | The compose type to select from the template (e.g. 'monolith', 'microservices') | [optional] | +| **actionType** | **AgentAppEventActionType** | The event action this merge previews (e.g. UPGRADE). Drives action-specific merge rules. | [optional] [enum: INSTALL, UPDATE, DELETE, RESTART, ROLLBACK, UPGRADE, AGENT_UPGRADE] | +| **setHostValues** | **Boolean** | Whether to auto-fill host values (e.g. CLOUD_RPC_HOST) from the platform base URL. Should be true only for the install preview; keep false when previewing the saved compose of an existing profile to preserve user-configured host values. | [optional] [default to false] | + +### Return type + +**AgentAppProfile** + + +## saveAgentAppProfile + +``` +AgentAppProfile saveAgentAppProfile(@Nonnull AgentAppProfile agentAppProfile) +``` + +**POST** `/api/agent/app/profile` + +Create or Update Agent Application Profile (saveAgentAppProfile) + +Creates or updates an agent application profile. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentAppProfile** | **AgentAppProfile** | | | + +### Return type + +**AgentAppProfile** + diff --git a/pe/docs/AgentAppProfileId.md b/pe/docs/AgentAppProfileId.md new file mode 100644 index 00000000..8e8ce755 --- /dev/null +++ b/pe/docs/AgentAppProfileId.md @@ -0,0 +1,30 @@ + +# AgentAppProfileId + +`org.thingsboard.client.model.AgentAppProfileId` + +**Extends:** **EntityId** + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| + + + +## Referenced Types + +> **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentAppProfileInfo.md b/pe/docs/AgentAppProfileInfo.md new file mode 100644 index 00000000..57c89228 --- /dev/null +++ b/pe/docs/AgentAppProfileInfo.md @@ -0,0 +1,81 @@ + +# AgentAppProfileInfo + +`org.thingsboard.client.model.AgentAppProfileInfo` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **id** | **AgentAppProfileId** | JSON object with the Agent Application Profile Id. | [optional] | +| **createdTime** | **Long** | Timestamp of the profile creation, in milliseconds | [optional] [readonly] | +| **tenantId** | **TenantId** | JSON object with Tenant Id. | [optional] [readonly] | +| **name** | **String** | Unique profile name within tenant | | +| **description** | **String** | Profile description | [optional] | +| **appType** | **AgentApplicationType** | Application type: EDGE, GATEWAY, or GENERIC | | +| **templateVersion** | **String** | Template version this profile is based on | | +| **config** | **DockerComposeConfig** | | [optional] | +| **version** | **Long** | | [optional] | +| **templateCurrentVersion** | **String** | Current version of the template this profile points to. | [optional] [readonly] | + + + +## Referenced Types + +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. + +#### AgentApplicationType (enum) +`GENERIC` | `EDGE` | `GATEWAY` + +#### DockerComposeConfig *(extends AgentAppConfig)* +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| compose | com.fasterxml.jackson.databind.JsonNode | | [optional] | +| composeType | String | | [optional] | + +#### AgentAppConfig +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| arguments | List | | [optional] | +| edgeRoutingKey | String | | [optional] | +| type | AgentAppConfigType | | [optional] | + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +#### AgentAppArgument +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| name | String | Argument name, referenced in the compose as ${tb.}. | [optional] | +| sourceType | AgentAppArgumentSource | Source entity the value is resolved from. | [optional] | +| sourceEntityId | EntityId | Concrete source entity id. Required when sourceType references a specific entity (DEVICE, ASSET, CUSTOMER, EDGE); ignored for the context-derived sources. | [optional] | +| valueType | AgentAppArgumentValueType | Whether the value is read from an attribute or the latest telemetry. | [optional] | +| scope | AttributeScope | Attribute scope. Applicable only when valueType is ATTRIBUTE. Defaults to SERVER_SCOPE. | [optional] | +| key | String | Attribute or latest telemetry key to read. | [optional] | +| defaultValue | String | Optional fallback value used when the source has no value for the key. | [optional] | +| format | AgentAppArgumentFormat | How the resolved value is injected into the compose: STRING (quoted) or JSON (raw, for arrays/objects/numbers when the placeholder is the whole value). Defaults to STRING. | [optional] | + +#### AgentAppConfigType (enum) +`DOCKER_COMPOSE` + +#### AgentAppArgumentSource (enum) +`AGENT` | `OWNER` | `RELATED_ENTITY` | `TENANT` | `DEVICE` | `ASSET` | `CUSTOMER` | `EDGE` + +#### AgentAppArgumentValueType (enum) +`ATTRIBUTE` | `LATEST_TELEMETRY` + +#### AttributeScope (enum) +`CLIENT_SCOPE` | `SERVER_SCOPE` | `SHARED_SCOPE` + +#### AgentAppArgumentFormat (enum) +`STRING` | `JSON` + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentAppProfileRelationInfo.md b/pe/docs/AgentAppProfileRelationInfo.md new file mode 100644 index 00000000..b2eb9903 --- /dev/null +++ b/pe/docs/AgentAppProfileRelationInfo.md @@ -0,0 +1,84 @@ + +# AgentAppProfileRelationInfo + +`org.thingsboard.client.model.AgentAppProfileRelationInfo` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **id** | **AgentAppProfileId** | JSON object with the Agent Application Profile Id. | [optional] | +| **createdTime** | **Long** | Timestamp of the profile creation, in milliseconds | [optional] [readonly] | +| **tenantId** | **TenantId** | JSON object with Tenant Id. | [optional] [readonly] | +| **name** | **String** | Unique profile name within tenant | | +| **description** | **String** | Profile description | [optional] | +| **appType** | **AgentApplicationType** | Application type: EDGE, GATEWAY, or GENERIC | | +| **templateVersion** | **String** | Template version this profile is based on | | +| **config** | **DockerComposeConfig** | | [optional] | +| **version** | **Long** | | [optional] | +| **templateCurrentVersion** | **String** | Current version of the template this profile points to. | [optional] [readonly] | +| **agentProfileId** | **AgentProfileId** | JSON object with the Agent Profile Id this app profile is assigned to. | [optional] [readonly] | +| **assignedApplicationsCount** | **Long** | Number of AgentApplications using this app profile within the agent profile. | [optional] [readonly] | +| **additionalInfo** | **com.fasterxml.jackson.databind.JsonNode** | Additional info of the assignment relation between the agent profile and this app profile. | [optional] [readonly] | + + + +## Referenced Types + +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. + +#### AgentApplicationType (enum) +`GENERIC` | `EDGE` | `GATEWAY` + +#### DockerComposeConfig *(extends AgentAppConfig)* +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| compose | com.fasterxml.jackson.databind.JsonNode | | [optional] | +| composeType | String | | [optional] | + +#### AgentAppConfig +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| arguments | List | | [optional] | +| edgeRoutingKey | String | | [optional] | +| type | AgentAppConfigType | | [optional] | + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +#### AgentAppArgument +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| name | String | Argument name, referenced in the compose as ${tb.}. | [optional] | +| sourceType | AgentAppArgumentSource | Source entity the value is resolved from. | [optional] | +| sourceEntityId | EntityId | Concrete source entity id. Required when sourceType references a specific entity (DEVICE, ASSET, CUSTOMER, EDGE); ignored for the context-derived sources. | [optional] | +| valueType | AgentAppArgumentValueType | Whether the value is read from an attribute or the latest telemetry. | [optional] | +| scope | AttributeScope | Attribute scope. Applicable only when valueType is ATTRIBUTE. Defaults to SERVER_SCOPE. | [optional] | +| key | String | Attribute or latest telemetry key to read. | [optional] | +| defaultValue | String | Optional fallback value used when the source has no value for the key. | [optional] | +| format | AgentAppArgumentFormat | How the resolved value is injected into the compose: STRING (quoted) or JSON (raw, for arrays/objects/numbers when the placeholder is the whole value). Defaults to STRING. | [optional] | + +#### AgentAppConfigType (enum) +`DOCKER_COMPOSE` + +#### AgentAppArgumentSource (enum) +`AGENT` | `OWNER` | `RELATED_ENTITY` | `TENANT` | `DEVICE` | `ASSET` | `CUSTOMER` | `EDGE` + +#### AgentAppArgumentValueType (enum) +`ATTRIBUTE` | `LATEST_TELEMETRY` + +#### AttributeScope (enum) +`CLIENT_SCOPE` | `SERVER_SCOPE` | `SHARED_SCOPE` + +#### AgentAppArgumentFormat (enum) +`STRING` | `JSON` + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentAppStep.md b/pe/docs/AgentAppStep.md new file mode 100644 index 00000000..c9800a28 --- /dev/null +++ b/pe/docs/AgentAppStep.md @@ -0,0 +1,33 @@ + +# AgentAppStep + +`org.thingsboard.client.model.AgentAppStep` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **id** | **UUID** | | [optional] | +| **nextId** | **UUID** | | [optional] | +| **title** | **String** | | [optional] | +| **templateOnly** | **Boolean** | | [optional] | +| **condition** | **String** | | [optional] | +| **stateful** | **Boolean** | | [optional] | +| **type** | **AgentAppStepType** | | [optional] | + + + +## Referenced Types + +#### AgentAppStepType (enum) +`COMPOSE_TEMPLATE` | `COMPOSE` | `COMPOSE_START` | `COMPOSE_DOWN` | `ROLLBACK` | `BACKUP_VOLUME` | `BACKUP_VOLUME_REMOVE` | `COMPOSE_RESTART` | `RUN_JOB` | `AGENT_PREPARE` | … (11 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentAppStepState.md b/pe/docs/AgentAppStepState.md new file mode 100644 index 00000000..bb077145 --- /dev/null +++ b/pe/docs/AgentAppStepState.md @@ -0,0 +1,27 @@ + +# AgentAppStepState + +`org.thingsboard.client.model.AgentAppStepState` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **type** | **AgentAppStepType** | | [optional] | + + + +## Referenced Types + +#### AgentAppStepType (enum) +`COMPOSE_TEMPLATE` | `COMPOSE` | `COMPOSE_START` | `COMPOSE_DOWN` | `ROLLBACK` | `BACKUP_VOLUME` | `BACKUP_VOLUME_REMOVE` | `COMPOSE_RESTART` | `RUN_JOB` | `AGENT_PREPARE` | … (11 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentAppStepType.md b/pe/docs/AgentAppStepType.md new file mode 100644 index 00000000..378b7d14 --- /dev/null +++ b/pe/docs/AgentAppStepType.md @@ -0,0 +1,41 @@ + +# AgentAppStepType + +`org.thingsboard.client.model.AgentAppStepType` + +## Enum Values + + +* `COMPOSE_TEMPLATE` (value: `"COMPOSE_TEMPLATE"`) + +* `COMPOSE` (value: `"COMPOSE"`) + +* `COMPOSE_START` (value: `"COMPOSE_START"`) + +* `COMPOSE_DOWN` (value: `"COMPOSE_DOWN"`) + +* `ROLLBACK` (value: `"ROLLBACK"`) + +* `BACKUP_VOLUME` (value: `"BACKUP_VOLUME"`) + +* `BACKUP_VOLUME_REMOVE` (value: `"BACKUP_VOLUME_REMOVE"`) + +* `COMPOSE_RESTART` (value: `"COMPOSE_RESTART"`) + +* `RUN_JOB` (value: `"RUN_JOB"`) + +* `AGENT_PREPARE` (value: `"AGENT_PREPARE"`) + +* `AGENT_FINALIZE` (value: `"AGENT_FINALIZE"`) + + + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentAppTemplate.md b/pe/docs/AgentAppTemplate.md new file mode 100644 index 00000000..ab9167ca --- /dev/null +++ b/pe/docs/AgentAppTemplate.md @@ -0,0 +1,102 @@ + +# AgentAppTemplate + +`org.thingsboard.client.model.AgentAppTemplate` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **tenantId** | **TenantId** | JSON object with Tenant Id. | [optional] [readonly] | +| **appType** | **AgentApplicationType** | Application type | | +| **configType** | **AgentAppConfigType** | Config type (e.g. 'DOCKER_COMPOSE'); the compose body lives in the template's compose-template step, not here | [optional] | +| **currentVersion** | **String** | Current template version | | +| **nextVersion** | **String** | Next template version | [optional] | +| **startSteps** | **List\** | Start steps | [optional] | +| **upgradeSteps** | **List\** | Upgrade steps | [optional] | +| **deleteSteps** | **List\** | Delete steps | [optional] | +| **rollbackSteps** | **List\** | Rollback steps | [optional] | +| **restartSteps** | **List\** | Restart steps | [optional] | + + + +## Referenced Types + +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. + +#### AgentApplicationType (enum) +`GENERIC` | `EDGE` | `GATEWAY` + +#### AgentAppConfigType (enum) +`DOCKER_COMPOSE` + +#### AgentAppTemplateStartStepsInner +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| id | UUID | | [optional] | +| nextId | UUID | | [optional] | +| title | String | | [optional] | +| templateOnly | Boolean | | [optional] | +| condition | String | | [optional] | +| stateful | Boolean | | [optional] | +| type | AgentAppStepType | | [optional] | +| state | RunJobStepState | | [optional] | +| composeTemplates | Map | | [optional] | + +#### AgentAppStepType (enum) +`COMPOSE_TEMPLATE` | `COMPOSE` | `COMPOSE_START` | `COMPOSE_DOWN` | `ROLLBACK` | `BACKUP_VOLUME` | `BACKUP_VOLUME_REMOVE` | `COMPOSE_RESTART` | `RUN_JOB` | `AGENT_PREPARE` | … (11 values total) + +#### RunJobStepState *(extends AgentAppStepState)* +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| image | StepFieldString | | [optional] | +| entrypoint | StepFieldListString | | [optional] | +| cmd | StepFieldListString | | [optional] | +| env | StepFieldListString | | [optional] | +| binds | StepFieldListString | | [optional] | +| networks | StepFieldListString | | [optional] | +| pullImages | StepFieldBoolean | | [optional] | +| retries | StepFieldInteger | | [optional] | +| networkFromServiceImageRegexPattern | StepFieldString | | [optional] | + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +#### AgentAppStepState +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| type | AgentAppStepType | | [optional] | + +#### StepFieldString +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | String | | [optional] | +| userChoice | Boolean | | [optional] | + +#### StepFieldListString +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| userChoice | Boolean | | [optional] | +| value | List | | [optional] | + +#### StepFieldBoolean +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | Boolean | | [optional] | +| userChoice | Boolean | | [optional] | + +#### StepFieldInteger +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | Integer | | [optional] | +| userChoice | Boolean | | [optional] | + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentAppTemplateControllerApi.md b/pe/docs/AgentAppTemplateControllerApi.md new file mode 100644 index 00000000..39506b9b --- /dev/null +++ b/pe/docs/AgentAppTemplateControllerApi.md @@ -0,0 +1,104 @@ +# AgentAppTemplateControllerApi + +`ThingsboardClient` methods: + +``` +AgentAppTemplate getAgentAppTemplateByCurrentVersion(@Nonnull AgentApplicationType appType, @Nonnull AgentAppConfigType configType, @Nonnull String currentVersion) // Get Agent App Template by current version (getAgentAppTemplateByCurrentVersion) +List getAgentAppTemplates() // Get all Agent App Templates (getAgentAppTemplates) +List getAgentAppTemplatesByAppType(@Nonnull AgentApplicationType appType, @Nonnull AgentAppConfigType configType) // Get Agent App Templates by type (getAgentAppTemplatesByAppType) +AgentAppTemplate getLatestAgentAppTemplateByAppTypeAndConfigType(@Nonnull AgentApplicationType appType, @Nonnull AgentAppConfigType configType) // Get Agent App Template (getLatestAgentAppTemplateByType) +``` + + +## getAgentAppTemplateByCurrentVersion + +``` +AgentAppTemplate getAgentAppTemplateByCurrentVersion(@Nonnull AgentApplicationType appType, @Nonnull AgentAppConfigType configType, @Nonnull String currentVersion) +``` + +**GET** `/api/agent/app/template/{appType}/{configType}/version/{currentVersion}` + +Get Agent App Template by current version (getAgentAppTemplateByCurrentVersion) + +Fetch the Agent App Template object based on the provided app type, config type, and current version. Matches the version exactly, including a floating tag used as a version such as the gateway 'latest' tag. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **appType** | **AgentApplicationType** | A string value representing the agent application type, e.g. 'EDGE', 'GATEWAY' | [enum: GENERIC, EDGE, GATEWAY] | +| **configType** | **AgentAppConfigType** | A string value representing the agent configuration type, e.g. 'DOCKER_COMPOSE' | [enum: DOCKER_COMPOSE] | +| **currentVersion** | **String** | A string value representing the current version of the template, e.g. '1.0.0' | | + +### Return type + +**AgentAppTemplate** + + +## getAgentAppTemplates + +``` +List getAgentAppTemplates() +``` + +**GET** `/api/agent/app/templates` + +Get all Agent App Templates (getAgentAppTemplates) + +Returns a list of all agent app templates available for the current tenant. Available for users with 'TENANT_ADMIN' authority. + +### Return type + +**List** + + +## getAgentAppTemplatesByAppType + +``` +List getAgentAppTemplatesByAppType(@Nonnull AgentApplicationType appType, @Nonnull AgentAppConfigType configType) +``` + +**GET** `/api/agent/app/templates/{appType}/{configType}` + +Get Agent App Templates by type (getAgentAppTemplatesByAppType) + +Returns a list of agent app templates filtered by application type and config type. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **appType** | **AgentApplicationType** | A string value representing the agent application type, e.g. 'EDGE', 'GATEWAY' | [enum: GENERIC, EDGE, GATEWAY] | +| **configType** | **AgentAppConfigType** | A string value representing the agent configuration type, e.g. 'DOCKER_COMPOSE' | [enum: DOCKER_COMPOSE] | + +### Return type + +**List** + + +## getLatestAgentAppTemplateByAppTypeAndConfigType + +``` +AgentAppTemplate getLatestAgentAppTemplateByAppTypeAndConfigType(@Nonnull AgentApplicationType appType, @Nonnull AgentAppConfigType configType) +``` + +**GET** `/api/agent/app/template/{appType}/{configType}/latest` + +Get Agent App Template (getLatestAgentAppTemplateByType) + +Fetch the latest Agent App Template object for the given app type and config type. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **appType** | **AgentApplicationType** | A string value representing the agent application type, e.g. 'EDGE', 'GATEWAY' | [enum: GENERIC, EDGE, GATEWAY] | +| **configType** | **AgentAppConfigType** | A string value representing the agent configuration type, e.g. 'DOCKER_COMPOSE' | [enum: DOCKER_COMPOSE] | + +### Return type + +**AgentAppTemplate** + diff --git a/pe/docs/AgentAppTemplateStartStepsInner.md b/pe/docs/AgentAppTemplateStartStepsInner.md new file mode 100644 index 00000000..7a0e6f89 --- /dev/null +++ b/pe/docs/AgentAppTemplateStartStepsInner.md @@ -0,0 +1,77 @@ + +# AgentAppTemplateStartStepsInner + +`org.thingsboard.client.model.AgentAppTemplateStartStepsInner` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **id** | **UUID** | | [optional] | +| **nextId** | **UUID** | | [optional] | +| **title** | **String** | | [optional] | +| **templateOnly** | **Boolean** | | [optional] | +| **condition** | **String** | | [optional] | +| **stateful** | **Boolean** | | [optional] | +| **type** | **AgentAppStepType** | | [optional] | +| **state** | **RunJobStepState** | | [optional] | +| **composeTemplates** | **Map\** | | [optional] | + + + +## Referenced Types + +#### AgentAppStepType (enum) +`COMPOSE_TEMPLATE` | `COMPOSE` | `COMPOSE_START` | `COMPOSE_DOWN` | `ROLLBACK` | `BACKUP_VOLUME` | `BACKUP_VOLUME_REMOVE` | `COMPOSE_RESTART` | `RUN_JOB` | `AGENT_PREPARE` | … (11 values total) + +#### RunJobStepState *(extends AgentAppStepState)* +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| image | StepFieldString | | [optional] | +| entrypoint | StepFieldListString | | [optional] | +| cmd | StepFieldListString | | [optional] | +| env | StepFieldListString | | [optional] | +| binds | StepFieldListString | | [optional] | +| networks | StepFieldListString | | [optional] | +| pullImages | StepFieldBoolean | | [optional] | +| retries | StepFieldInteger | | [optional] | +| networkFromServiceImageRegexPattern | StepFieldString | | [optional] | + +#### AgentAppStepState +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| type | AgentAppStepType | | [optional] | + +#### StepFieldString +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | String | | [optional] | +| userChoice | Boolean | | [optional] | + +#### StepFieldListString +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| userChoice | Boolean | | [optional] | +| value | List | | [optional] | + +#### StepFieldBoolean +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | Boolean | | [optional] | +| userChoice | Boolean | | [optional] | + +#### StepFieldInteger +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | Integer | | [optional] | +| userChoice | Boolean | | [optional] | + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentAppUnit.md b/pe/docs/AgentAppUnit.md new file mode 100644 index 00000000..9fd665b9 --- /dev/null +++ b/pe/docs/AgentAppUnit.md @@ -0,0 +1,37 @@ + +# AgentAppUnit + +`org.thingsboard.client.model.AgentAppUnit` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **id** | **AgentAppUnitId** | JSON object with the Agent App Unit Id. | [optional] | +| **createdTime** | **Long** | Timestamp of the agent app unit creation, in milliseconds | [optional] [readonly] | +| **tenantId** | **TenantId** | Tenant this unit belongs to | | +| **agentApplicationId** | **AgentApplicationId** | Agent application this unit belongs to | | +| **identifier** | **String** | Unit identifier | | +| **type** | **AgentAppUnitType** | Unit type | | + + + +## Referenced Types + +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. + +#### AgentAppUnitType (enum) +`CONTAINER` | `VOLUME` | `NETWORK` + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentAppUnitId.md b/pe/docs/AgentAppUnitId.md new file mode 100644 index 00000000..9ab9dac5 --- /dev/null +++ b/pe/docs/AgentAppUnitId.md @@ -0,0 +1,30 @@ + +# AgentAppUnitId + +`org.thingsboard.client.model.AgentAppUnitId` + +**Extends:** **EntityId** + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| + + + +## Referenced Types + +> **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentAppUnitType.md b/pe/docs/AgentAppUnitType.md new file mode 100644 index 00000000..35e9d15f --- /dev/null +++ b/pe/docs/AgentAppUnitType.md @@ -0,0 +1,25 @@ + +# AgentAppUnitType + +`org.thingsboard.client.model.AgentAppUnitType` + +## Enum Values + + +* `CONTAINER` (value: `"CONTAINER"`) + +* `VOLUME` (value: `"VOLUME"`) + +* `NETWORK` (value: `"NETWORK"`) + + + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentApplication.md b/pe/docs/AgentApplication.md new file mode 100644 index 00000000..e2746782 --- /dev/null +++ b/pe/docs/AgentApplication.md @@ -0,0 +1,89 @@ + +# AgentApplication + +`org.thingsboard.client.model.AgentApplication` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **id** | **AgentApplicationId** | JSON object with the Agent Application Id. | [optional] | +| **createdTime** | **Long** | Timestamp of the agent application creation, in milliseconds | [optional] [readonly] | +| **tenantId** | **TenantId** | JSON object with Tenant Id. | [optional] [readonly] | +| **agentId** | **AgentId** | Agent this application belongs to | | +| **name** | **String** | Application name (not unique across tenant) | [optional] | +| **templateVersion** | **String** | Template version this application is based on | | +| **desiredTemplateVersion** | **String** | | [optional] | +| **appType** | **AgentApplicationType** | Application type | | +| **config** | **DockerComposeConfig** | | [optional] | +| **version** | **Long** | | [optional] | +| **projectName** | **String** | | [optional] | +| **pendingDeletion** | **Boolean** | | [optional] | +| **origin** | **AgentApplicationOrigin** | Origin of the application (INSTALLED or DISCOVERED) | [optional] | +| **applicationProfileId** | **AgentAppProfileId** | Application Profile Id. When set, config is read-only and inherited from the profile. | [optional] | +| **profileConfigVersion** | **Long** | | [optional] | + + + +## Referenced Types + +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. + +#### AgentApplicationType (enum) +`GENERIC` | `EDGE` | `GATEWAY` + +#### DockerComposeConfig *(extends AgentAppConfig)* +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| compose | com.fasterxml.jackson.databind.JsonNode | | [optional] | +| composeType | String | | [optional] | + +#### AgentApplicationOrigin (enum) +`INSTALLED` | `DISCOVERED` | `AUTO_PROVISIONED` + +#### AgentAppConfig +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| arguments | List | | [optional] | +| edgeRoutingKey | String | | [optional] | +| type | AgentAppConfigType | | [optional] | + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +#### AgentAppArgument +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| name | String | Argument name, referenced in the compose as ${tb.}. | [optional] | +| sourceType | AgentAppArgumentSource | Source entity the value is resolved from. | [optional] | +| sourceEntityId | EntityId | Concrete source entity id. Required when sourceType references a specific entity (DEVICE, ASSET, CUSTOMER, EDGE); ignored for the context-derived sources. | [optional] | +| valueType | AgentAppArgumentValueType | Whether the value is read from an attribute or the latest telemetry. | [optional] | +| scope | AttributeScope | Attribute scope. Applicable only when valueType is ATTRIBUTE. Defaults to SERVER_SCOPE. | [optional] | +| key | String | Attribute or latest telemetry key to read. | [optional] | +| defaultValue | String | Optional fallback value used when the source has no value for the key. | [optional] | +| format | AgentAppArgumentFormat | How the resolved value is injected into the compose: STRING (quoted) or JSON (raw, for arrays/objects/numbers when the placeholder is the whole value). Defaults to STRING. | [optional] | + +#### AgentAppConfigType (enum) +`DOCKER_COMPOSE` + +#### AgentAppArgumentSource (enum) +`AGENT` | `OWNER` | `RELATED_ENTITY` | `TENANT` | `DEVICE` | `ASSET` | `CUSTOMER` | `EDGE` + +#### AgentAppArgumentValueType (enum) +`ATTRIBUTE` | `LATEST_TELEMETRY` + +#### AttributeScope (enum) +`CLIENT_SCOPE` | `SERVER_SCOPE` | `SHARED_SCOPE` + +#### AgentAppArgumentFormat (enum) +`STRING` | `JSON` + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentApplicationControllerApi.md b/pe/docs/AgentApplicationControllerApi.md new file mode 100644 index 00000000..ec8e04bf --- /dev/null +++ b/pe/docs/AgentApplicationControllerApi.md @@ -0,0 +1,467 @@ +# AgentApplicationControllerApi + +`ThingsboardClient` methods: + +``` +AgentApplication assignRelatedEntityToAgentApp(@Nonnull String agentApplicationId, @Nonnull String entityType, @Nonnull String entityId) // Assign Related Entity to Agent Application (assignRelatedEntityToAgentApp) +AgentApplication attachToProfile(@Nonnull String agentApplicationId, @Nonnull String profileId) // Attach Application to Profile (attachToProfile) +void cancelAgentAppEvent(@Nonnull String agentApplicationId, @Nonnull String agentAppEventId) // Cancel Agent Application Event (cancelAgentAppEvent) +AgentAppEvent createAgentAppEvent(@Nonnull String agentApplicationId, @Nonnull AgentAppEventRequest agentAppEventRequest) // Execute Agent Application Event (createAgentAppEvent) +AgentApplication detachFromProfile(@Nonnull String agentApplicationId) // Detach Application from Profile (detachFromProfile) +AgentAppEvent getAgentAppEventById(@Nonnull String agentAppEventId) // Get Agent Application Event (getAgentAppEventById) +PageDataAgentAppEvent getAgentAppEvents(@Nonnull String agentApplicationId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable AgentAppEventActionType actionType, @Nullable AgentProcessingStatus processingStatus, @Nullable String sortProperty, @Nullable String sortOrder) // Get Agent Application Events (getAgentAppEvents) +PageDataAgentAppUnit getAgentAppUnits(@Nonnull String agentApplicationId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable AgentAppUnitType type, @Nullable String sortProperty, @Nullable String sortOrder) // Get Agent Application Units (getAgentAppUnits) +AgentApplicationInfo getAgentApplicationById(@Nonnull String agentApplicationId) // Get Agent Application (getAgentApplicationById) +AgentApplication getAgentApplicationByRelatedEntity(@Nonnull String entityType, @Nonnull String entityId) // Get Agent Application by Related Entity (getAgentApplicationByRelatedEntity) +PageDataAgentApplicationInfo getAgentApplicationsByAgentId(@Nonnull String agentId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder) // Get Agent Applications by Agent Id (getAgentApplicationsByAgentId) +List getManagedRelatedEntityIds(@Nonnull String entityType) // Get Managed Related Entity Ids (getManagedRelatedEntityIds) +PageDataEntityInfo getRelatedEntityCandidates(@Nonnull String entityType, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String currentEntityId) // Get Related Entity Candidates (getRelatedEntityCandidates) +AgentAppInstallResponse installAgentApp(@Nonnull AgentAppEventRequest agentAppEventRequest) // Install Agent Application (installAgentApp) +AgentApplication mergeAgentApplicationForPreview(@Nonnull String templateVersion, @Nullable AgentApplicationType appType, @Nullable String composeType, @Nullable AgentAppEventActionType actionType, @Nullable Boolean setHostValues, @Nullable String relatedEntityType, @Nullable String relatedEntityId, @Nullable AgentApplication agentApplication) // Merge template into application for preview (mergeAgentApplicationForPreview) +AgentApplication unassignRelatedEntityFromAgentApp(@Nonnull String agentApplicationId) // Unassign Related Entity from Agent Application (unassignRelatedEntityFromAgentApp) +AgentApplication updateAgentApplication(@Nonnull AgentApplication agentApplication) // Update Agent Application (saveAgentApplication) +``` + + +## assignRelatedEntityToAgentApp + +``` +AgentApplication assignRelatedEntityToAgentApp(@Nonnull String agentApplicationId, @Nonnull String entityType, @Nonnull String entityId) +``` + +**POST** `/api/agent/app/{agentApplicationId}/relatedEntity/{entityType}/{entityId}` + +Assign Related Entity to Agent Application (assignRelatedEntityToAgentApp) + +Links an Edge or Gateway Device to the specified agent application and re-merges entity credentials into the compose. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentApplicationId** | **String** | A string value representing the agent application id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' | | +| **entityType** | **String** | Related entity type (EDGE or DEVICE) | | +| **entityId** | **String** | Related entity id | | + +### Return type + +**AgentApplication** + + +## attachToProfile + +``` +AgentApplication attachToProfile(@Nonnull String agentApplicationId, @Nonnull String profileId) +``` + +**POST** `/api/agent/app/{agentApplicationId}/attach/{profileId}` + +Attach Application to Profile (attachToProfile) + +Re-attaches the application to a profile. The application adopts the profile's template version without running any upgrade or downgrade steps. After attachment the profile becomes the source of the config; the app's own credentials are carried over. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentApplicationId** | **String** | A string value representing the agent application id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' | | +| **profileId** | **String** | | | + +### Return type + +**AgentApplication** + + +## cancelAgentAppEvent + +``` +void cancelAgentAppEvent(@Nonnull String agentApplicationId, @Nonnull String agentAppEventId) +``` + +**POST** `/api/agent/app/{agentApplicationId}/event/{agentAppEventId}/cancel` + +Cancel Agent Application Event (cancelAgentAppEvent) + +Force-cancels an in-flight or pending agent application event, marking it as ERROR. Cannot cancel events that are already in a terminal state (FINISHED or ERROR). Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentApplicationId** | **String** | A string value representing the agent application id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' | | +| **agentAppEventId** | **String** | A string value representing the agent app event id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' | | + +### Return type + +null (empty response body) + + +## createAgentAppEvent + +``` +AgentAppEvent createAgentAppEvent(@Nonnull String agentApplicationId, @Nonnull AgentAppEventRequest agentAppEventRequest) +``` + +**POST** `/api/agent/app/{agentApplicationId}/event` + +Execute Agent Application Event (createAgentAppEvent) + +Creates an event for the specified agent application. The action type determines the operation (UPDATE, DELETE, RESTART, UPGRADE, ROLLBACK). Step inputs can be provided for actions that require them. Returns the created event so the caller can open a progress view. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentApplicationId** | **String** | A string value representing the agent application id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' | | +| **agentAppEventRequest** | **AgentAppEventRequest** | A JSON value representing the event request. | | + +### Return type + +**AgentAppEvent** + + +## detachFromProfile + +``` +AgentApplication detachFromProfile(@Nonnull String agentApplicationId) +``` + +**POST** `/api/agent/app/{agentApplicationId}/detach` + +Detach Application from Profile (detachFromProfile) + +Detaches the application from its profile. The application keeps the effective config it already carries (profile config with its own credentials merged in) and becomes standalone and editable. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentApplicationId** | **String** | A string value representing the agent application id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' | | + +### Return type + +**AgentApplication** + + +## getAgentAppEventById + +``` +AgentAppEvent getAgentAppEventById(@Nonnull String agentAppEventId) +``` + +**GET** `/api/agent/app/event/{agentAppEventId}` + +Get Agent Application Event (getAgentAppEventById) + +Fetches a single agent application event by id. Works for orphan events whose application has been deleted (application_id is nullable). Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentAppEventId** | **String** | A string value representing the agent app event id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' | | + +### Return type + +**AgentAppEvent** + + +## getAgentAppEvents + +``` +PageDataAgentAppEvent getAgentAppEvents(@Nonnull String agentApplicationId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable AgentAppEventActionType actionType, @Nullable AgentProcessingStatus processingStatus, @Nullable String sortProperty, @Nullable String sortOrder) +``` + +**GET** `/api/agent/app/{agentApplicationId}/events` + +Get Agent Application Events (getAgentAppEvents) + +Returns a page of events for the specified agent application. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentApplicationId** | **String** | A string value representing the agent application id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' | | +| **pageSize** | **Integer** | Maximum amount of entities in a one page | | +| **page** | **Integer** | Sequence number of page starting from 0 | | +| **textSearch** | **String** | Optional case-insensitive substring matched against the event action type and processing status | [optional] | +| **actionType** | **AgentAppEventActionType** | Optional action type filter | [optional] [enum: INSTALL, UPDATE, DELETE, RESTART, ROLLBACK, UPGRADE, AGENT_UPGRADE] | +| **processingStatus** | **AgentProcessingStatus** | Optional processing status filter | [optional] [enum: PENDING, QUEUED, PROCESSING, FINISHED, ERROR, START_FAILED] | +| **sortProperty** | **String** | Property of entity to sort by | [optional] [enum: createdTime, updatedTime] | +| **sortOrder** | **String** | Sort order. ASC (ASCENDING) or DESC (DESCENDING) | [optional] [enum: ASC, DESC] | + +### Return type + +**PageDataAgentAppEvent** + + +## getAgentAppUnits + +``` +PageDataAgentAppUnit getAgentAppUnits(@Nonnull String agentApplicationId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable AgentAppUnitType type, @Nullable String sortProperty, @Nullable String sortOrder) +``` + +**GET** `/api/agent/app/{agentApplicationId}/units` + +Get Agent Application Units (getAgentAppUnits) + +Returns a page of units (containers, volumes, networks) for the specified agent application. Live per-unit data such as `image` and `state` lives in server-scope attributes on each unit and should be fetched separately via the standard telemetry/attributes API.You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentApplicationId** | **String** | A string value representing the agent application id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' | | +| **pageSize** | **Integer** | Maximum amount of entities in a one page | | +| **page** | **Integer** | Sequence number of page starting from 0 | | +| **textSearch** | **String** | Case-insensitive substring match against the unit identifier | [optional] | +| **type** | **AgentAppUnitType** | Optional unit type filter (CONTAINER, VOLUME, NETWORK) | [optional] [enum: CONTAINER, VOLUME, NETWORK] | +| **sortProperty** | **String** | Property of entity to sort by | [optional] [enum: createdTime, identifier, type] | +| **sortOrder** | **String** | Sort order. ASC (ASCENDING) or DESC (DESCENDING) | [optional] [enum: ASC, DESC] | + +### Return type + +**PageDataAgentAppUnit** + + +## getAgentApplicationById + +``` +AgentApplicationInfo getAgentApplicationById(@Nonnull String agentApplicationId) +``` + +**GET** `/api/agent/app/{agentApplicationId}` + +Get Agent Application (getAgentApplicationById) + +Fetch the Agent Application object based on the provided Agent Application Id. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentApplicationId** | **String** | A string value representing the agent application id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' | | + +### Return type + +**AgentApplicationInfo** + + +## getAgentApplicationByRelatedEntity + +``` +AgentApplication getAgentApplicationByRelatedEntity(@Nonnull String entityType, @Nonnull String entityId) +``` + +**GET** `/api/agent/apps/{entityType}/{entityId}` + +Get Agent Application by Related Entity (getAgentApplicationByRelatedEntity) + +Returns the agent application linked to the specified entity. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **entityType** | **String** | Entity type | | +| **entityId** | **String** | Entity id | | + +### Return type + +**AgentApplication** + + +## getAgentApplicationsByAgentId + +``` +PageDataAgentApplicationInfo getAgentApplicationsByAgentId(@Nonnull String agentId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder) +``` + +**GET** `/api/agent/{agentId}/apps` + +Get Agent Applications by Agent Id (getAgentApplicationsByAgentId) + +Returns a page of agent applications that belong to the specified agent. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentId** | **String** | A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' | | +| **pageSize** | **Integer** | Maximum amount of entities in a one page | | +| **page** | **Integer** | Sequence number of page starting from 0 | | +| **textSearch** | **String** | Optional String value representing application name | [optional] | +| **sortProperty** | **String** | Property of entity to sort by | [optional] [enum: createdTime, name] | +| **sortOrder** | **String** | Sort order. ASC (ASCENDING) or DESC (DESCENDING) | [optional] [enum: ASC, DESC] | + +### Return type + +**PageDataAgentApplicationInfo** + + +## getManagedRelatedEntityIds + +``` +List getManagedRelatedEntityIds(@Nonnull String entityType) +``` + +**GET** `/api/agent/app/managedRelatedEntities/{entityType}` + +Get Managed Related Entity Ids (getManagedRelatedEntityIds) + +Returns the ids of entities of the given type that are already linked to an agent application. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **entityType** | **String** | Related entity type (EDGE or DEVICE) | | + +### Return type + +**List** + + +## getRelatedEntityCandidates + +``` +PageDataEntityInfo getRelatedEntityCandidates(@Nonnull String entityType, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String currentEntityId) +``` + +**GET** `/api/agent/app/relatedEntityCandidates` + +Get Related Entity Candidates (getRelatedEntityCandidates) + +Returns a page of Edges or Gateway Devices (devices with 'gateway' set in additional info) that can be linked to an agent application. Entities already linked to another application are excluded unless passed as 'currentEntityId'. Results are sorted by name. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **entityType** | **String** | Related entity type (EDGE or DEVICE) | [enum: EDGE, DEVICE] | +| **pageSize** | **Integer** | Maximum amount of entities in a one page | | +| **page** | **Integer** | Sequence number of page starting from 0 | | +| **textSearch** | **String** | Optional String value representing entity name | [optional] | +| **currentEntityId** | **String** | Optional id of the entity currently linked to the edited application; it is kept in the result even though it is managed | [optional] | + +### Return type + +**PageDataEntityInfo** + + +## installAgentApp + +``` +AgentAppInstallResponse installAgentApp(@Nonnull AgentAppEventRequest agentAppEventRequest) +``` + +**POST** `/api/agent/app/event` + +Install Agent Application (installAgentApp) + +Creates a new agent application and an INSTALL event in a single operation. Returns both the created application and the INSTALL event so the caller can open a progress view without a second round-trip. The request body must include the application object. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentAppEventRequest** | **AgentAppEventRequest** | A JSON value representing the install event request with the application. | | + +### Return type + +**AgentAppInstallResponse** + + +## mergeAgentApplicationForPreview + +``` +AgentApplication mergeAgentApplicationForPreview(@Nonnull String templateVersion, @Nullable AgentApplicationType appType, @Nullable String composeType, @Nullable AgentAppEventActionType actionType, @Nullable Boolean setHostValues, @Nullable String relatedEntityType, @Nullable String relatedEntityId, @Nullable AgentApplication agentApplication) +``` + +**POST** `/api/agent/app/merge/{templateVersion}/preview` + +Merge template into application for preview (mergeAgentApplicationForPreview) + +Merges the specified template into an agent application for preview purposes. If no application is provided in the body, a new one is created from the template. The compose type determines which compose configuration variant from the template is used. Optionally provide relatedEntityType and relatedEntityId to auto-fill entity credentials (Edge routing key/secret or Gateway access token) into the compose. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **templateVersion** | **String** | The template version to merge (e.g. '4.3.1.2EDGEPE') | | +| **appType** | **AgentApplicationType** | Application type (EDGE, GATEWAY, GENERIC). Required when no application body is supplied. | [optional] [enum: GENERIC, EDGE, GATEWAY] | +| **composeType** | **String** | The compose type to select from the template (e.g. 'monolith', 'microservices') | [optional] | +| **actionType** | **AgentAppEventActionType** | The event action this merge previews (e.g. UPGRADE). Drives action-specific merge rules. | [optional] [enum: INSTALL, UPDATE, DELETE, RESTART, ROLLBACK, UPGRADE, AGENT_UPGRADE] | +| **setHostValues** | **Boolean** | Whether to auto-fill host values (e.g. CLOUD_RPC_HOST) from the platform base URL. Should be true only for the install preview; keep false when previewing the saved compose of an existing application to preserve user-configured host values. | [optional] [default to false] | +| **relatedEntityType** | **String** | Related entity type (EDGE or DEVICE) | [optional] | +| **relatedEntityId** | **String** | Related entity id | [optional] | +| **agentApplication** | **AgentApplication** | Optional agent application to merge with. If null, a new application is created from the template. | [optional] | + +### Return type + +**AgentApplication** + + +## unassignRelatedEntityFromAgentApp + +``` +AgentApplication unassignRelatedEntityFromAgentApp(@Nonnull String agentApplicationId) +``` + +**DELETE** `/api/agent/app/{agentApplicationId}/relatedEntity` + +Unassign Related Entity from Agent Application (unassignRelatedEntityFromAgentApp) + +Removes the link between an agent application and its related Edge or Gateway Device. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentApplicationId** | **String** | A string value representing the agent application id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' | | + +### Return type + +**AgentApplication** + + +## updateAgentApplication + +``` +AgentApplication updateAgentApplication(@Nonnull AgentApplication agentApplication) +``` + +**PUT** `/api/agent/app` + +Update Agent Application (saveAgentApplication) + +Updates the Agent Application. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentApplication** | **AgentApplication** | A JSON value representing the agent application. | | + +### Return type + +**AgentApplication** + diff --git a/pe/docs/AgentApplicationId.md b/pe/docs/AgentApplicationId.md new file mode 100644 index 00000000..80fc4ddb --- /dev/null +++ b/pe/docs/AgentApplicationId.md @@ -0,0 +1,30 @@ + +# AgentApplicationId + +`org.thingsboard.client.model.AgentApplicationId` + +**Extends:** **EntityId** + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| + + + +## Referenced Types + +> **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentApplicationInfo.md b/pe/docs/AgentApplicationInfo.md new file mode 100644 index 00000000..33a5ab4d --- /dev/null +++ b/pe/docs/AgentApplicationInfo.md @@ -0,0 +1,96 @@ + +# AgentApplicationInfo + +`org.thingsboard.client.model.AgentApplicationInfo` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **id** | **AgentApplicationId** | JSON object with the Agent Application Id. | [optional] | +| **createdTime** | **Long** | Timestamp of the agent application creation, in milliseconds | [optional] [readonly] | +| **tenantId** | **TenantId** | JSON object with Tenant Id. | [optional] [readonly] | +| **agentId** | **AgentId** | Agent this application belongs to | | +| **name** | **String** | Application name (not unique across tenant) | [optional] | +| **templateVersion** | **String** | Template version this application is based on | | +| **desiredTemplateVersion** | **String** | | [optional] | +| **appType** | **AgentApplicationType** | Application type | | +| **config** | **DockerComposeConfig** | | [optional] | +| **version** | **Long** | | [optional] | +| **projectName** | **String** | | [optional] | +| **pendingDeletion** | **Boolean** | | [optional] | +| **origin** | **AgentApplicationOrigin** | Origin of the application (INSTALLED or DISCOVERED) | [optional] | +| **applicationProfileId** | **AgentAppProfileId** | Application Profile Id. When set, config is read-only and inherited from the profile. | [optional] | +| **profileConfigVersion** | **Long** | | [optional] | +| **currentVersion** | **String** | Current version of the template this application is based on. | [optional] [readonly] | +| **nextVersion** | **String** | Next version available for upgrade. | [optional] [readonly] | +| **profileConfigOutdated** | **Boolean** | True if the app's config is outdated relative to its profile. | [optional] [readonly] | +| **profileName** | **String** | Name of the application profile this app is based on. | [optional] [readonly] | +| **profileTemplateVersion** | **String** | Template version of the application profile this app is based on. | [optional] [readonly] | +| **agentName** | **String** | Name of the owning agent. | [optional] [readonly] | +| **relatedEntityId** | **EntityId** | Related entity id (Edge or Gateway device) currently assigned to this application. | [optional] [readonly] | + + + +## Referenced Types + +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. + +#### AgentApplicationType (enum) +`GENERIC` | `EDGE` | `GATEWAY` + +#### DockerComposeConfig *(extends AgentAppConfig)* +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| compose | com.fasterxml.jackson.databind.JsonNode | | [optional] | +| composeType | String | | [optional] | + +#### AgentApplicationOrigin (enum) +`INSTALLED` | `DISCOVERED` | `AUTO_PROVISIONED` + +#### AgentAppConfig +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| arguments | List | | [optional] | +| edgeRoutingKey | String | | [optional] | +| type | AgentAppConfigType | | [optional] | + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +#### AgentAppArgument +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| name | String | Argument name, referenced in the compose as ${tb.}. | [optional] | +| sourceType | AgentAppArgumentSource | Source entity the value is resolved from. | [optional] | +| sourceEntityId | EntityId | Concrete source entity id. Required when sourceType references a specific entity (DEVICE, ASSET, CUSTOMER, EDGE); ignored for the context-derived sources. | [optional] | +| valueType | AgentAppArgumentValueType | Whether the value is read from an attribute or the latest telemetry. | [optional] | +| scope | AttributeScope | Attribute scope. Applicable only when valueType is ATTRIBUTE. Defaults to SERVER_SCOPE. | [optional] | +| key | String | Attribute or latest telemetry key to read. | [optional] | +| defaultValue | String | Optional fallback value used when the source has no value for the key. | [optional] | +| format | AgentAppArgumentFormat | How the resolved value is injected into the compose: STRING (quoted) or JSON (raw, for arrays/objects/numbers when the placeholder is the whole value). Defaults to STRING. | [optional] | + +#### AgentAppConfigType (enum) +`DOCKER_COMPOSE` + +#### AgentAppArgumentSource (enum) +`AGENT` | `OWNER` | `RELATED_ENTITY` | `TENANT` | `DEVICE` | `ASSET` | `CUSTOMER` | `EDGE` + +#### AgentAppArgumentValueType (enum) +`ATTRIBUTE` | `LATEST_TELEMETRY` + +#### AttributeScope (enum) +`CLIENT_SCOPE` | `SERVER_SCOPE` | `SHARED_SCOPE` + +#### AgentAppArgumentFormat (enum) +`STRING` | `JSON` + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentApplicationOrigin.md b/pe/docs/AgentApplicationOrigin.md new file mode 100644 index 00000000..b1cfb41c --- /dev/null +++ b/pe/docs/AgentApplicationOrigin.md @@ -0,0 +1,25 @@ + +# AgentApplicationOrigin + +`org.thingsboard.client.model.AgentApplicationOrigin` + +## Enum Values + + +* `INSTALLED` (value: `"INSTALLED"`) + +* `DISCOVERED` (value: `"DISCOVERED"`) + +* `AUTO_PROVISIONED` (value: `"AUTO_PROVISIONED"`) + + + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/ChatType.md b/pe/docs/AgentApplicationType.md similarity index 74% rename from pe/docs/ChatType.md rename to pe/docs/AgentApplicationType.md index 4dd1fe97..9e9cc99d 100644 --- a/pe/docs/ChatType.md +++ b/pe/docs/AgentApplicationType.md @@ -1,14 +1,16 @@ -# ChatType +# AgentApplicationType -`org.thingsboard.client.model.ChatType` +`org.thingsboard.client.model.AgentApplicationType` ## Enum Values * `GENERIC` (value: `"GENERIC"`) -* `SOLUTION_BUILDER` (value: `"SOLUTION_BUILDER"`) +* `EDGE` (value: `"EDGE"`) + +* `GATEWAY` (value: `"GATEWAY"`) diff --git a/pe/docs/AgentBulkAction.md b/pe/docs/AgentBulkAction.md new file mode 100644 index 00000000..f335cb1a --- /dev/null +++ b/pe/docs/AgentBulkAction.md @@ -0,0 +1,46 @@ + +# AgentBulkAction + +`org.thingsboard.client.model.AgentBulkAction` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **id** | **AgentBulkActionId** | JSON object with the Agent Bulk Action Id. | [optional] | +| **createdTime** | **Long** | Timestamp of the bulk action creation, in milliseconds | [optional] [readonly] | +| **tenantId** | **TenantId** | | [optional] | +| **agentProfileId** | **UUID** | | [optional] | +| **applicationProfileId** | **UUID** | | [optional] | +| **actionType** | **AgentAppEventActionType** | | [optional] | +| **status** | **AgentBulkActionStatus** | | [optional] | +| **errorMsg** | **String** | | [optional] | +| **processingStartedTime** | **Long** | | [optional] | +| **total** | **Integer** | | [optional] | +| **submitted** | **Integer** | | [optional] | +| **skipCounts** | **Map\** | | [optional] | + + + +## Referenced Types + +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. + +#### AgentAppEventActionType (enum) +`INSTALL` | `UPDATE` | `DELETE` | `RESTART` | `ROLLBACK` | `UPGRADE` | `AGENT_UPGRADE` + +#### AgentBulkActionStatus (enum) +`QUEUED` | `IN_PROGRESS` | `STARTED` | `START_FAILED` + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentBulkActionControllerApi.md b/pe/docs/AgentBulkActionControllerApi.md new file mode 100644 index 00000000..27682c64 --- /dev/null +++ b/pe/docs/AgentBulkActionControllerApi.md @@ -0,0 +1,89 @@ +# AgentBulkActionControllerApi + +`ThingsboardClient` methods: + +``` +AgentBulkAction getAgentBulkAction(@Nonnull String bulkActionId) // Get Agent Bulk Action (getAgentBulkAction) +AgentBulkActionEventStats getAgentBulkActionEventStats(@Nonnull String bulkActionId) // Get Agent Bulk Action Event Stats (getAgentBulkActionEventStats) +PageDataAgentAppEventInfo getAgentBulkActionEvents(@Nonnull String bulkActionId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable AgentAppEventActionType actionType, @Nullable AgentProcessingStatus processingStatus, @Nullable String sortProperty, @Nullable String sortOrder) // Get Agent Bulk Action Events (getAgentBulkActionEvents) +``` + + +## getAgentBulkAction + +``` +AgentBulkAction getAgentBulkAction(@Nonnull String bulkActionId) +``` + +**GET** `/api/agent/bulk/{bulkActionId}` + +Get Agent Bulk Action (getAgentBulkAction) + +Fetch the Agent Bulk Action object based on the provided Bulk Action Id. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **bulkActionId** | **String** | Bulk Action Id | | + +### Return type + +**AgentBulkAction** + + +## getAgentBulkActionEventStats + +``` +AgentBulkActionEventStats getAgentBulkActionEventStats(@Nonnull String bulkActionId) +``` + +**GET** `/api/agent/bulk/{bulkActionId}/eventStats` + +Get Agent Bulk Action Event Stats (getAgentBulkActionEventStats) + +Returns the number of agent application events produced by the given bulk action per processing status, together with their total. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **bulkActionId** | **String** | Bulk Action Id | | + +### Return type + +**AgentBulkActionEventStats** + + +## getAgentBulkActionEvents + +``` +PageDataAgentAppEventInfo getAgentBulkActionEvents(@Nonnull String bulkActionId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable AgentAppEventActionType actionType, @Nullable AgentProcessingStatus processingStatus, @Nullable String sortProperty, @Nullable String sortOrder) +``` + +**GET** `/api/agent/bulk/{bulkActionId}/events` + +Get Agent Bulk Action Events (getAgentBulkActionEvents) + +Returns a page of agent application events produced by the given bulk action, optionally filtered by action type and status. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **bulkActionId** | **String** | Bulk Action Id | | +| **pageSize** | **Integer** | Maximum amount of entities in a one page | | +| **page** | **Integer** | Sequence number of page starting from 0 | | +| **textSearch** | **String** | Case-insensitive 'substring' filter based on the event fields | [optional] | +| **actionType** | **AgentAppEventActionType** | A string value representing the action type to filter by, e.g. 'UPDATE' | [optional] [enum: INSTALL, UPDATE, DELETE, RESTART, ROLLBACK, UPGRADE, AGENT_UPGRADE] | +| **processingStatus** | **AgentProcessingStatus** | A string value representing the event status to filter by, e.g. 'FINISHED' | [optional] [enum: PENDING, QUEUED, PROCESSING, FINISHED, ERROR, START_FAILED] | +| **sortProperty** | **String** | Property of entity to sort by | [optional] | +| **sortOrder** | **String** | Sort order. ASC (ASCENDING) or DESC (DESCENDING) | [optional] | + +### Return type + +**PageDataAgentAppEventInfo** + diff --git a/pe/docs/AgentBulkActionEventStats.md b/pe/docs/AgentBulkActionEventStats.md new file mode 100644 index 00000000..f8ca20ff --- /dev/null +++ b/pe/docs/AgentBulkActionEventStats.md @@ -0,0 +1,23 @@ + +# AgentBulkActionEventStats + +`org.thingsboard.client.model.AgentBulkActionEventStats` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **countsByStatus** | **Map\** | Number of events produced by the bulk action per processing status | [optional] | +| **total** | **Long** | Total number of events produced by the bulk action | [optional] | + + + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentBulkActionId.md b/pe/docs/AgentBulkActionId.md new file mode 100644 index 00000000..9cbe68cc --- /dev/null +++ b/pe/docs/AgentBulkActionId.md @@ -0,0 +1,30 @@ + +# AgentBulkActionId + +`org.thingsboard.client.model.AgentBulkActionId` + +**Extends:** **EntityId** + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| + + + +## Referenced Types + +> **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentBulkActionStatus.md b/pe/docs/AgentBulkActionStatus.md new file mode 100644 index 00000000..bc9f4b10 --- /dev/null +++ b/pe/docs/AgentBulkActionStatus.md @@ -0,0 +1,27 @@ + +# AgentBulkActionStatus + +`org.thingsboard.client.model.AgentBulkActionStatus` + +## Enum Values + + +* `QUEUED` (value: `"QUEUED"`) + +* `IN_PROGRESS` (value: `"IN_PROGRESS"`) + +* `STARTED` (value: `"STARTED"`) + +* `START_FAILED` (value: `"START_FAILED"`) + + + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentControllerApi.md b/pe/docs/AgentControllerApi.md new file mode 100644 index 00000000..ba65b683 --- /dev/null +++ b/pe/docs/AgentControllerApi.md @@ -0,0 +1,434 @@ +# AgentControllerApi + +`ThingsboardClient` methods: + +``` +void deleteAgent(@Nonnull String agentId) // Delete agent (deleteAgent) +PageDataAgentAppEventInfo getAgentAppEventInfosByAgentId(@Nonnull String agentId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder, @Nullable AgentAppEventActionType actionType, @Nullable AgentProcessingStatus processingStatus) // Get Agent App Event Infos by Agent Id (getAgentAppEventInfosByAgentId) +PageDataAgentAppEvent getAgentAppEventsByAgentId(@Nonnull String agentId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder) // Get Agent App Events by Agent Id (getAgentAppEventsByAgentId) +Agent getAgentById(@Nonnull String agentId) // Get Agent (getAgentById) +AgentInfo getAgentInfoById(@Nonnull String agentId) // Get Agent Info (getAgentInfoById) +List getAgentInfosByIds(@Nonnull List agentIds) // Get Agent Infos By Ids (getAgentInfosByIds) +AgentInstructions getAgentInstallInstructions(@Nonnull String agentId, @Nonnull String method) // Get Agent Install Instructions (getAgentInstallInstructions) +String getAgentUpgradeTarget(@Nonnull String agentId) // Get the agent upgrade target (getAgentUpgradeTarget) +PageDataAgentInfo getCustomerAgentInfos(@Nonnull String customerId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder) // Get Customer Agent Infos (getCustomerAgentInfos) +PageDataAgent getCustomerAgents(@Nonnull String customerId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder) // Get Customer Agents (getCustomerAgents) +String getLatestAgentImageRef() // Get the newest published agent image (getLatestAgentImageRef) +PageDataAgentInfo getTenantAgentInfos(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder) // Get Tenant Agent Infos (getTenantAgentInfos) +PageDataAgent getTenantAgents(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder) // Get Tenant Agents (getTenantAgents) +Boolean isAgentUpgradeAvailable(@Nonnull String agentId) // Is agent upgrade available (isAgentUpgradeAvailable) +Agent saveAgent(@Nonnull Agent agent, @Nullable String entityGroupId, @Nullable List entityGroupIds) // Create Or Update Agent (saveAgent) +AgentAppEvent upgradeAgent(@Nonnull String agentId, @Nonnull AgentUpgradeRequest agentUpgradeRequest) // Upgrade Agent (upgradeAgent) +``` + + +## deleteAgent + +``` +void deleteAgent(@Nonnull String agentId) +``` + +**DELETE** `/api/agent/{agentId}` + +Delete agent (deleteAgent) + +Deletes the agent and all the relations (from and to the agent). Referencing non-existing agent Id will cause an error. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentId** | **String** | A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' | | + +### Return type + +null (empty response body) + + +## getAgentAppEventInfosByAgentId + +``` +PageDataAgentAppEventInfo getAgentAppEventInfosByAgentId(@Nonnull String agentId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder, @Nullable AgentAppEventActionType actionType, @Nullable AgentProcessingStatus processingStatus) +``` + +**GET** `/api/agent/{agentId}/eventInfos` + +Get Agent App Event Infos by Agent Id (getAgentAppEventInfosByAgentId) + +Returns a page of agent application events for all applications belonging to the specified agent, enriched with the application name for each event. Supports optional filtering by action type and status, and text search over the application name. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentId** | **String** | A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' | | +| **pageSize** | **Integer** | Maximum amount of entities in a one page | | +| **page** | **Integer** | Sequence number of page starting from 0 | | +| **textSearch** | **String** | Optional text value to match against the application name | [optional] | +| **sortProperty** | **String** | Property of entity to sort by | [optional] [enum: createdTime, updatedTime, actionType, startStatus, processingStatus] | +| **sortOrder** | **String** | Sort order. ASC (ASCENDING) or DESC (DESCENDING) | [optional] [enum: ASC, DESC] | +| **actionType** | **AgentAppEventActionType** | Optional filter by event action type | [optional] [enum: INSTALL, UPDATE, DELETE, RESTART, ROLLBACK, UPGRADE, AGENT_UPGRADE] | +| **processingStatus** | **AgentProcessingStatus** | Optional filter by event status | [optional] [enum: PENDING, QUEUED, PROCESSING, FINISHED, ERROR, START_FAILED] | + +### Return type + +**PageDataAgentAppEventInfo** + + +## getAgentAppEventsByAgentId + +``` +PageDataAgentAppEvent getAgentAppEventsByAgentId(@Nonnull String agentId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder) +``` + +**GET** `/api/agent/{agentId}/events` + +Get Agent App Events by Agent Id (getAgentAppEventsByAgentId) + +Returns a page of agent application events for all applications belonging to the specified agent. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentId** | **String** | A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' | | +| **pageSize** | **Integer** | Maximum amount of entities in a one page | | +| **page** | **Integer** | Sequence number of page starting from 0 | | +| **textSearch** | **String** | Optional String value reserved for future event filtering | [optional] | +| **sortProperty** | **String** | Property of entity to sort by | [optional] [enum: createdTime, updatedTime] | +| **sortOrder** | **String** | Sort order. ASC (ASCENDING) or DESC (DESCENDING) | [optional] [enum: ASC, DESC] | + +### Return type + +**PageDataAgentAppEvent** + + +## getAgentById + +``` +Agent getAgentById(@Nonnull String agentId) +``` + +**GET** `/api/agent/{agentId}` + +Get Agent (getAgentById) + +Fetch the Agent object based on the provided Agent Id. The server checks that the agent is owned by the same tenant. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentId** | **String** | A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' | | + +### Return type + +**Agent** + + +## getAgentInfoById + +``` +AgentInfo getAgentInfoById(@Nonnull String agentId) +``` + +**GET** `/api/agent/info/{agentId}` + +Get Agent Info (getAgentInfoById) + +Fetch the Agent Info object based on the provided Agent Id. Agent Info extends the Agent object and adds customer title and 'is public' flag. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentId** | **String** | A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' | | + +### Return type + +**AgentInfo** + + +## getAgentInfosByIds + +``` +List getAgentInfosByIds(@Nonnull List agentIds) +``` + +**GET** `/api/agentInfos` + +Get Agent Infos By Ids (getAgentInfosByIds) + +Requested agents must be owned by tenant or assigned to customer which user is performing the request. Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities). + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentIds** | **List** | A list of agent ids, separated by comma ',' | | + +### Return type + +**List** + + +## getAgentInstallInstructions + +``` +AgentInstructions getAgentInstallInstructions(@Nonnull String agentId, @Nonnull String method) +``` + +**GET** `/api/agent/instructions/install/{agentId}/{method}` + +Get Agent Install Instructions (getAgentInstallInstructions) + +Returns the docker install command for the specified agent with the server address and gRPC port resolved server-side. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentId** | **String** | A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' | | +| **method** | **String** | Installation method ('docker') | [enum: docker] | + +### Return type + +**AgentInstructions** + + +## getAgentUpgradeTarget + +``` +String getAgentUpgradeTarget(@Nonnull String agentId) +``` + +**GET** `/api/agent/{agentId}/upgrade/target` + +Get the agent upgrade target (getAgentUpgradeTarget) + +Returns the image reference the agent should be upgraded to, or an empty string when it already runs the newest published image or cannot be placed in the version graph. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentId** | **String** | A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' | | + +### Return type + +**String** + + +## getCustomerAgentInfos + +``` +PageDataAgentInfo getCustomerAgentInfos(@Nonnull String customerId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder) +``` + +**GET** `/api/customer/{customerId}/agentInfos` + +Get Customer Agent Infos (getCustomerAgentInfos) + +Returns a page of agent info objects assigned to customer. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **customerId** | **String** | A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' | | +| **pageSize** | **Integer** | Maximum amount of entities in a one page | | +| **page** | **Integer** | Sequence number of page starting from 0 | | +| **textSearch** | **String** | Optional String value representing agent name | [optional] | +| **sortProperty** | **String** | Property of entity to sort by | [optional] [enum: createdTime, name] | +| **sortOrder** | **String** | Sort order. ASC (ASCENDING) or DESC (DESCENDING) | [optional] [enum: ASC, DESC] | + +### Return type + +**PageDataAgentInfo** + + +## getCustomerAgents + +``` +PageDataAgent getCustomerAgents(@Nonnull String customerId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder) +``` + +**GET** `/api/customer/{customerId}/agents` + +Get Customer Agents (getCustomerAgents) + +Returns a page of agent objects assigned to customer. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **customerId** | **String** | A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' | | +| **pageSize** | **Integer** | Maximum amount of entities in a one page | | +| **page** | **Integer** | Sequence number of page starting from 0 | | +| **textSearch** | **String** | Optional String value representing agent name | [optional] | +| **sortProperty** | **String** | Property of entity to sort by | [optional] [enum: createdTime, name] | +| **sortOrder** | **String** | Sort order. ASC (ASCENDING) or DESC (DESCENDING) | [optional] [enum: ASC, DESC] | + +### Return type + +**PageDataAgent** + + +## getLatestAgentImageRef + +``` +String getLatestAgentImageRef() +``` + +**GET** `/api/agent/upgrade/latest` + +Get the newest published agent image (getLatestAgentImageRef) + +Returns the newest agent image reference known from the version graph, or the floating tag while no version has been published. Lets a list of agents decide locally which rows are upgradable without asking per row. Available for users with 'TENANT_ADMIN' authority. + +### Return type + +**String** + + +## getTenantAgentInfos + +``` +PageDataAgentInfo getTenantAgentInfos(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder) +``` + +**GET** `/api/tenant/agentInfos` + +Get Tenant Agent Infos (getTenantAgentInfos) + +Returns a page of agent info objects owned by tenant. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **pageSize** | **Integer** | Maximum amount of entities in a one page | | +| **page** | **Integer** | Sequence number of page starting from 0 | | +| **textSearch** | **String** | Optional String value representing agent name | [optional] | +| **sortProperty** | **String** | Property of entity to sort by | [optional] [enum: createdTime, name] | +| **sortOrder** | **String** | Sort order. ASC (ASCENDING) or DESC (DESCENDING) | [optional] [enum: ASC, DESC] | + +### Return type + +**PageDataAgentInfo** + + +## getTenantAgents + +``` +PageDataAgent getTenantAgents(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder) +``` + +**GET** `/api/tenant/agents` + +Get Tenant Agents (getTenantAgents) + +Returns a page of agents owned by tenant. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **pageSize** | **Integer** | Maximum amount of entities in a one page | | +| **page** | **Integer** | Sequence number of page starting from 0 | | +| **textSearch** | **String** | Optional String value representing agent name | [optional] | +| **sortProperty** | **String** | Property of entity to sort by | [optional] [enum: createdTime, name] | +| **sortOrder** | **String** | Sort order. ASC (ASCENDING) or DESC (DESCENDING) | [optional] [enum: ASC, DESC] | + +### Return type + +**PageDataAgent** + + +## isAgentUpgradeAvailable + +``` +Boolean isAgentUpgradeAvailable(@Nonnull String agentId) +``` + +**GET** `/api/agent/{agentId}/upgrade/available` + +Is agent upgrade available (isAgentUpgradeAvailable) + +Returns 'true' when the agent reports an image older than the newest published one, 'false' otherwise — including when the agent runs a floating tag such as 'latest', whose current content cannot be told from the tag. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentId** | **String** | A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' | | + +### Return type + +**Boolean** + + +## saveAgent + +``` +Agent saveAgent(@Nonnull Agent agent, @Nullable String entityGroupId, @Nullable List entityGroupIds) +``` + +**POST** `/api/agent` + +Create Or Update Agent (saveAgent) + +Creates or Updates the Agent. When creating agent, platform generates Agent Id as [time-based UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_1_(date-time_and_MAC_address)). The newly created Agent id will be present in the response. Specify existing Agent id to update the agent. Referencing non-existing Agent Id will cause 'Not Found' error. Remove 'id', 'tenantId' and optionally 'customerId' from the request body example (below) to create new Agent entity. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agent** | **Agent** | A JSON value representing the agent. | | +| **entityGroupId** | **String** | | [optional] | +| **entityGroupIds** | **List** | A list of entity group ids, separated by comma ',' | [optional] | + +### Return type + +**Agent** + + +## upgradeAgent + +``` +AgentAppEvent upgradeAgent(@Nonnull String agentId, @Nonnull AgentUpgradeRequest agentUpgradeRequest) +``` + +**POST** `/api/agent/{agentId}/upgrade` + +Upgrade Agent (upgradeAgent) + +Creates an agent-scoped upgrade event that makes the agent replace its own container with the given image. At most one agent upgrade can be active per agent, and it blocks all application events for that agent until it completes. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentId** | **String** | A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' | | +| **agentUpgradeRequest** | **AgentUpgradeRequest** | | | + +### Return type + +**AgentAppEvent** + diff --git a/pe/docs/AgentFinalizeStep.md b/pe/docs/AgentFinalizeStep.md new file mode 100644 index 00000000..78490d32 --- /dev/null +++ b/pe/docs/AgentFinalizeStep.md @@ -0,0 +1,39 @@ + +# AgentFinalizeStep + +`org.thingsboard.client.model.AgentFinalizeStep` + +**Extends:** **AgentAppStep** + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| + + + +## Referenced Types + +#### AgentAppStep +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| id | UUID | | [optional] | +| nextId | UUID | | [optional] | +| title | String | | [optional] | +| templateOnly | Boolean | | [optional] | +| condition | String | | [optional] | +| stateful | Boolean | | [optional] | +| type | AgentAppStepType | | [optional] | + +#### AgentAppStepType (enum) +`COMPOSE_TEMPLATE` | `COMPOSE` | `COMPOSE_START` | `COMPOSE_DOWN` | `ROLLBACK` | `BACKUP_VOLUME` | `BACKUP_VOLUME_REMOVE` | `COMPOSE_RESTART` | `RUN_JOB` | `AGENT_PREPARE` | … (11 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentId.md b/pe/docs/AgentId.md new file mode 100644 index 00000000..32ec5079 --- /dev/null +++ b/pe/docs/AgentId.md @@ -0,0 +1,30 @@ + +# AgentId + +`org.thingsboard.client.model.AgentId` + +**Extends:** **EntityId** + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| + + + +## Referenced Types + +> **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentInfo.md b/pe/docs/AgentInfo.md new file mode 100644 index 00000000..970f7e05 --- /dev/null +++ b/pe/docs/AgentInfo.md @@ -0,0 +1,54 @@ + +# AgentInfo + +`org.thingsboard.client.model.AgentInfo` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **id** | **AgentId** | JSON object with the Agent Id. Specify this field to update the Agent. Referencing non-existing Agent Id will cause error. Omit this field to create new Agent. | [optional] | +| **createdTime** | **Long** | Timestamp of the agent creation, in milliseconds | [optional] [readonly] | +| **additionalInfo** | **com.fasterxml.jackson.databind.JsonNode** | | [optional] | +| **tenantId** | **TenantId** | JSON object with Tenant Id. Use 'assignAgentToTenant' to change the Tenant Id. | [optional] [readonly] | +| **customerId** | **CustomerId** | JSON object with Customer Id. | [optional] [readonly] | +| **name** | **String** | Unique Agent Name in scope of Tenant | | +| **description** | **String** | Agent description | [optional] | +| **routingKey** | **String** | Agent routing key used for authentication | | +| **secret** | **String** | Agent secret used for authentication | | +| **agentProfileId** | **AgentProfileId** | JSON object with Agent Profile Id. Nullable. | [optional] | +| **version** | **Long** | | [optional] | +| **customerTitle** | **String** | Title of the Customer that owns the agent. | [optional] [readonly] | +| **customerIsPublic** | **Boolean** | Indicates special 'Public' Customer that is auto-generated to use the agents on public dashboards. | [optional] [readonly] | +| **agentProfileName** | **String** | Name of the Agent Profile the agent belongs to. | [optional] [readonly] | +| **ownerName** | **String** | Owner name — tenant title if the agent is owned by a tenant, or customer title otherwise. | [optional] [readonly] | +| **groups** | **List\** | Entity groups that contain this agent (excluding the implicit 'All' group). | [optional] | +| **active** | **Boolean** | Whether the agent currently has an active connection (derived from server-scope 'active' attribute). | [optional] [readonly] | +| **agentVersion** | **String** | Agent software version reported on the last connect (derived from server-scope 'agentVersion' attribute). | [optional] [readonly] | +| **upgradeTargetImageRef** | **String** | Image reference this agent should be upgraded to, or null when no upgrade applies. Resolved from the published version graph. | [optional] [readonly] | +| **ownerId** | **EntityId** | JSON object with Customer or Tenant Id | [optional] [readonly] | + + + +## Referenced Types + +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. + +#### EntityInfo +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| id | EntityId | JSON object with the entity Id. | [optional] | +| name | String | Entity Name | [optional] | + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentInstructions.md b/pe/docs/AgentInstructions.md new file mode 100644 index 00000000..096653a1 --- /dev/null +++ b/pe/docs/AgentInstructions.md @@ -0,0 +1,22 @@ + +# AgentInstructions + +`org.thingsboard.client.model.AgentInstructions` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **instructions** | **String** | Resolved install/provision instructions for the selected method | [optional] | + + + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentPrepareStep.md b/pe/docs/AgentPrepareStep.md new file mode 100644 index 00000000..0298784d --- /dev/null +++ b/pe/docs/AgentPrepareStep.md @@ -0,0 +1,39 @@ + +# AgentPrepareStep + +`org.thingsboard.client.model.AgentPrepareStep` + +**Extends:** **AgentAppStep** + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| + + + +## Referenced Types + +#### AgentAppStep +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| id | UUID | | [optional] | +| nextId | UUID | | [optional] | +| title | String | | [optional] | +| templateOnly | Boolean | | [optional] | +| condition | String | | [optional] | +| stateful | Boolean | | [optional] | +| type | AgentAppStepType | | [optional] | + +#### AgentAppStepType (enum) +`COMPOSE_TEMPLATE` | `COMPOSE` | `COMPOSE_START` | `COMPOSE_DOWN` | `ROLLBACK` | `BACKUP_VOLUME` | `BACKUP_VOLUME_REMOVE` | `COMPOSE_RESTART` | `RUN_JOB` | `AGENT_PREPARE` | … (11 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentProcessingStatus.md b/pe/docs/AgentProcessingStatus.md new file mode 100644 index 00000000..6f7df351 --- /dev/null +++ b/pe/docs/AgentProcessingStatus.md @@ -0,0 +1,31 @@ + +# AgentProcessingStatus + +`org.thingsboard.client.model.AgentProcessingStatus` + +## Enum Values + + +* `PENDING` (value: `"PENDING"`) + +* `QUEUED` (value: `"QUEUED"`) + +* `PROCESSING` (value: `"PROCESSING"`) + +* `FINISHED` (value: `"FINISHED"`) + +* `ERROR` (value: `"ERROR"`) + +* `START_FAILED` (value: `"START_FAILED"`) + + + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentProfile.md b/pe/docs/AgentProfile.md new file mode 100644 index 00000000..6834b593 --- /dev/null +++ b/pe/docs/AgentProfile.md @@ -0,0 +1,41 @@ + +# AgentProfile + +`org.thingsboard.client.model.AgentProfile` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **id** | **AgentProfileId** | JSON object with the Agent Profile Id. | [optional] | +| **createdTime** | **Long** | Timestamp of the profile creation, in milliseconds | [optional] [readonly] | +| **tenantId** | **TenantId** | JSON object with Tenant Id. | [optional] [readonly] | +| **name** | **String** | Unique profile name within tenant | | +| **description** | **String** | Profile description | [optional] | +| **provisionKey** | **String** | Provision key for future auto-provisioning | [optional] | +| **provisionSecret** | **String** | Provision secret for future auto-provisioning | [optional] | +| **provisionType** | **AgentProvisionType** | Provisioning strategy. DISABLED by default. | [optional] | +| **version** | **Long** | | [optional] | +| **_default** | **Boolean** | Used to mark the default profile that will be assigned to agents when no profile is specified. | [optional] | + + + +## Referenced Types + +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. + +#### AgentProvisionType (enum) +`DISABLED` | `NO_AUTO_INSTALL` | `AUTO_INSTALL_PER_APP_TYPE` | `AUTO_INSTALL_PER_APP_PROFILE` + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentProfileControllerApi.md b/pe/docs/AgentProfileControllerApi.md new file mode 100644 index 00000000..bad82eb0 --- /dev/null +++ b/pe/docs/AgentProfileControllerApi.md @@ -0,0 +1,478 @@ +# AgentProfileControllerApi + +`ThingsboardClient` methods: + +``` +void assignAppProfileToAgentProfile(@Nonnull String agentProfileId, @Nonnull String applicationProfileId) // Assign App Profile to Agent Profile (assignAppProfileToAgentProfile) +void assignAppProfilesToAgentProfile(@Nonnull String agentProfileId, @Nullable List appProfileIds) // Assign Multiple App Profiles to Agent Profile (assignAppProfilesToAgentProfile) +AgentBulkAction bulkOperation(@Nonnull String agentProfileId, @Nonnull String applicationProfileId, @Nonnull BulkOperationRequest bulkOperationRequest) // Bulk Operation (bulkOperation) +void deleteAgentProfile(@Nonnull String agentProfileId) // Delete Agent Profile (deleteAgentProfile) +PageDataAgentBulkAction getAgentProfileAppProfileBulkActions(@Nonnull String agentProfileId, @Nonnull String applicationProfileId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String sortProperty, @Nullable String sortOrder) // Get Bulk Actions for Agent Profile and Application Profile (getAgentProfileAppProfileBulkActions) +List getAgentProfileAppProfileInfos(@Nonnull String agentProfileId) // Get Agent Profile App Profile Infos (getAgentProfileAppProfileInfos) +PageDataAgentBulkAction getAgentProfileBulkActions(@Nonnull String agentProfileId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String sortProperty, @Nullable String sortOrder) // Get Bulk Actions for Agent Profile (getAgentProfileBulkActions) +AgentProfile getAgentProfileById(@Nonnull String agentProfileId) // Get Agent Profile (getAgentProfileById) +AgentProfileInfo getAgentProfileInfoById(@Nonnull String agentProfileId) // Get Agent Profile Info (getAgentProfileInfoById) +AgentInstructions getAgentProvisionInstructions(@Nonnull String agentProfileId, @Nonnull String method) // Get Agent Provision Instructions (getAgentProvisionInstructions) +AgentProfileInfo getDefaultAgentProfileInfo() // Get Default Agent Profile (getDefaultAgentProfileInfo) +PageDataAgentProfileInfo getTenantAgentProfileInfos(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder) // Get Tenant Agent Profile Infos (getTenantAgentProfileInfos) +PageDataAgentProfile getTenantAgentProfiles(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder) // Get Tenant Agent Profiles (getTenantAgentProfiles) +BulkOperationPreview previewBulkOperation(@Nonnull String agentProfileId, @Nonnull String applicationProfileId, @Nonnull BulkOperationRequest bulkOperationRequest) // Preview Bulk Operation (previewBulkOperation) +AgentProfile saveAgentProfile(@Nonnull AgentProfile agentProfile, @Nullable List appProfileIds) // Create or Update Agent Profile (saveAgentProfile) +void setAppProfileRelatesOnAutoDiscovery(@Nonnull String agentProfileId, @Nonnull String applicationProfileId, @Nonnull Boolean relate) // Set App Profile Relates On Auto-Discovery (setAppProfileRelatesOnAutoDiscovery) +AgentProfile setDefaultAgentProfile(@Nonnull String agentProfileId) // Make Agent Profile Default (setDefaultAgentProfile) +void unassignAppProfileFromAgentProfile(@Nonnull String agentProfileId, @Nonnull String applicationProfileId) // Unassign App Profile from Agent Profile (unassignAppProfileFromAgentProfile) +``` + + +## assignAppProfileToAgentProfile + +``` +void assignAppProfileToAgentProfile(@Nonnull String agentProfileId, @Nonnull String applicationProfileId) +``` + +**POST** `/api/agent/profile/{agentProfileId}/appProfile/{applicationProfileId}` + +Assign App Profile to Agent Profile (assignAppProfileToAgentProfile) + +Assigns the given agent application profile to the agent profile, making it available to applications managed by that agent profile. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentProfileId** | **String** | Agent Profile Id | | +| **applicationProfileId** | **String** | Agent Application Profile Id | | + +### Return type + +null (empty response body) + + +## assignAppProfilesToAgentProfile + +``` +void assignAppProfilesToAgentProfile(@Nonnull String agentProfileId, @Nullable List appProfileIds) +``` + +**POST** `/api/agent/profile/{agentProfileId}/appProfiles/assign` + +Assign Multiple App Profiles to Agent Profile (assignAppProfilesToAgentProfile) + +Assigns the given set of agent application profiles to the agent profile in a single request, replacing the previous assignment set. An explicitly empty 'appProfileIds' value (e.g. 'appProfileIds=') removes all assignments. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentProfileId** | **String** | Agent Profile Id | | +| **appProfileIds** | **List** | Agent application profile ids that replace the current assignment set. An explicitly empty value removes all assignments. | [optional] | + +### Return type + +null (empty response body) + + +## bulkOperation + +``` +AgentBulkAction bulkOperation(@Nonnull String agentProfileId, @Nonnull String applicationProfileId, @Nonnull BulkOperationRequest bulkOperationRequest) +``` + +**POST** `/api/agent/profile/{agentProfileId}/appProfile/{applicationProfileId}/bulk` + +Bulk Operation (bulkOperation) + +Enqueues a bulk operation over the applications of the given agent profile and application profile and returns the created bulk action to track its progress. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentProfileId** | **String** | Agent Profile Id | | +| **applicationProfileId** | **String** | Agent Application Profile Id | | +| **bulkOperationRequest** | **BulkOperationRequest** | | | + +### Return type + +**AgentBulkAction** + + +## deleteAgentProfile + +``` +void deleteAgentProfile(@Nonnull String agentProfileId) +``` + +**DELETE** `/api/agent/profile/{agentProfileId}` + +Delete Agent Profile (deleteAgentProfile) + +Deletes the Agent Profile. Referencing a non-existing Agent Profile Id will cause an error. The default Agent Profile can not be deleted. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentProfileId** | **String** | Agent Profile Id | | + +### Return type + +null (empty response body) + + +## getAgentProfileAppProfileBulkActions + +``` +PageDataAgentBulkAction getAgentProfileAppProfileBulkActions(@Nonnull String agentProfileId, @Nonnull String applicationProfileId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String sortProperty, @Nullable String sortOrder) +``` + +**GET** `/api/agent/profile/{agentProfileId}/appProfile/{applicationProfileId}/bulk` + +Get Bulk Actions for Agent Profile and Application Profile (getAgentProfileAppProfileBulkActions) + +Returns a page of bulk actions previously submitted for the given agent profile and application profile pair. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentProfileId** | **String** | Agent Profile Id | | +| **applicationProfileId** | **String** | Agent Application Profile Id | | +| **pageSize** | **Integer** | Maximum amount of entities in a one page | | +| **page** | **Integer** | Sequence number of page starting from 0 | | +| **sortProperty** | **String** | Property of entity to sort by | [optional] | +| **sortOrder** | **String** | Sort order. ASC (ASCENDING) or DESC (DESCENDING) | [optional] | + +### Return type + +**PageDataAgentBulkAction** + + +## getAgentProfileAppProfileInfos + +``` +List getAgentProfileAppProfileInfos(@Nonnull String agentProfileId) +``` + +**GET** `/api/agent/profile/{agentProfileId}/appProfilesInfo` + +Get Agent Profile App Profile Infos (getAgentProfileAppProfileInfos) + +Returns app profiles assigned to the given agent profile, enriched with template version, the count of AgentApplications using each app profile within this agent profile and the additional info of the assignment relation. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentProfileId** | **String** | Agent Profile Id | | + +### Return type + +**List** + + +## getAgentProfileBulkActions + +``` +PageDataAgentBulkAction getAgentProfileBulkActions(@Nonnull String agentProfileId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String sortProperty, @Nullable String sortOrder) +``` + +**GET** `/api/agent/profile/{agentProfileId}/bulk` + +Get Bulk Actions for Agent Profile (getAgentProfileBulkActions) + +Returns a page of bulk actions previously submitted for the given agent profile. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentProfileId** | **String** | Agent Profile Id | | +| **pageSize** | **Integer** | Maximum amount of entities in a one page | | +| **page** | **Integer** | Sequence number of page starting from 0 | | +| **sortProperty** | **String** | Property of entity to sort by | [optional] | +| **sortOrder** | **String** | Sort order. ASC (ASCENDING) or DESC (DESCENDING) | [optional] | + +### Return type + +**PageDataAgentBulkAction** + + +## getAgentProfileById + +``` +AgentProfile getAgentProfileById(@Nonnull String agentProfileId) +``` + +**GET** `/api/agent/profile/{agentProfileId}` + +Get Agent Profile (getAgentProfileById) + +Fetch the Agent Profile object based on the provided Agent Profile Id. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentProfileId** | **String** | Agent Profile Id | | + +### Return type + +**AgentProfile** + + +## getAgentProfileInfoById + +``` +AgentProfileInfo getAgentProfileInfoById(@Nonnull String agentProfileId) +``` + +**GET** `/api/agent/profile/info/{agentProfileId}` + +Get Agent Profile Info (getAgentProfileInfoById) + +Fetch the Agent Profile Info object based on the provided Agent Profile Id. Agent Profile Info is a lightweight object that omits the auto-provision key and secret; it is readable by any tenant admin so agent screens can resolve the linked profile. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentProfileId** | **String** | Agent Profile Id | | + +### Return type + +**AgentProfileInfo** + + +## getAgentProvisionInstructions + +``` +AgentInstructions getAgentProvisionInstructions(@Nonnull String agentProfileId, @Nonnull String method) +``` + +**GET** `/api/agent/profile/instructions/provision/{agentProfileId}/{method}` + +Get Agent Provision Instructions (getAgentProvisionInstructions) + +Returns the auto-provision docker command for the specified agent profile with the server address and gRPC port resolved server-side. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentProfileId** | **String** | Agent Profile Id | | +| **method** | **String** | Installation method ('docker') | [enum: docker] | + +### Return type + +**AgentInstructions** + + +## getDefaultAgentProfileInfo + +``` +AgentProfileInfo getDefaultAgentProfileInfo() +``` + +**GET** `/api/agent/profile/info/default` + +Get Default Agent Profile (getDefaultAgentProfileInfo) + +Fetch the Agent Profile Info object that is marked as default within the current tenant scope. Available for users with 'TENANT_ADMIN' authority. + +### Return type + +**AgentProfileInfo** + + +## getTenantAgentProfileInfos + +``` +PageDataAgentProfileInfo getTenantAgentProfileInfos(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder) +``` + +**GET** `/api/tenant/agent/profileInfos` + +Get Tenant Agent Profile Infos (getTenantAgentProfileInfos) + +Returns a page of Agent Profile Info objects owned by the current tenant. Agent Profile Info is a lightweight object that contains only id and name of the profile. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **pageSize** | **Integer** | Maximum amount of entities in a one page | | +| **page** | **Integer** | Sequence number of page starting from 0 | | +| **textSearch** | **String** | | [optional] | +| **sortProperty** | **String** | Property of entity to sort by | [optional] | +| **sortOrder** | **String** | Sort order. ASC (ASCENDING) or DESC (DESCENDING) | [optional] | + +### Return type + +**PageDataAgentProfileInfo** + + +## getTenantAgentProfiles + +``` +PageDataAgentProfile getTenantAgentProfiles(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder) +``` + +**GET** `/api/tenant/agent/profiles` + +Get Tenant Agent Profiles (getTenantAgentProfiles) + +Returns a page of Agent Profile objects owned by the current tenant. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **pageSize** | **Integer** | Maximum amount of entities in a one page | | +| **page** | **Integer** | Sequence number of page starting from 0 | | +| **textSearch** | **String** | | [optional] | +| **sortProperty** | **String** | Property of entity to sort by | [optional] | +| **sortOrder** | **String** | Sort order. ASC (ASCENDING) or DESC (DESCENDING) | [optional] | + +### Return type + +**PageDataAgentProfile** + + +## previewBulkOperation + +``` +BulkOperationPreview previewBulkOperation(@Nonnull String agentProfileId, @Nonnull String applicationProfileId, @Nonnull BulkOperationRequest bulkOperationRequest) +``` + +**POST** `/api/agent/profile/{agentProfileId}/appProfile/{applicationProfileId}/bulk/preview` + +Preview Bulk Operation (previewBulkOperation) + +Previews the effect of a bulk operation over the applications of the given agent profile and application profile without enqueuing it, returning the set of affected applications and the resulting actions. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentProfileId** | **String** | Agent Profile Id | | +| **applicationProfileId** | **String** | Agent Application Profile Id | | +| **bulkOperationRequest** | **BulkOperationRequest** | | | + +### Return type + +**BulkOperationPreview** + + +## saveAgentProfile + +``` +AgentProfile saveAgentProfile(@Nonnull AgentProfile agentProfile, @Nullable List appProfileIds) +``` + +**POST** `/api/agent/profile` + +Create or Update Agent Profile (saveAgentProfile) + +Creates or updates the Agent Profile. When an id is not present in the request, a new Agent Profile is created, otherwise the existing one is updated. Optionally synchronizes the agent application profile assignments in the same request: when the 'appProfileIds' parameter is absent, existing assignments are left untouched; when it is present, the assignment set is replaced with the given ids — including an explicitly empty value (e.g. 'appProfileIds='), which removes all assignments. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentProfile** | **AgentProfile** | | | +| **appProfileIds** | **List** | Agent application profile ids to assign to this agent profile. Absent: assignments are not modified. Present: assignments are replaced with the given ids; an explicitly empty value removes all assignments. | [optional] | + +### Return type + +**AgentProfile** + + +## setAppProfileRelatesOnAutoDiscovery + +``` +void setAppProfileRelatesOnAutoDiscovery(@Nonnull String agentProfileId, @Nonnull String applicationProfileId, @Nonnull Boolean relate) +``` + +**POST** `/api/agent/profile/{agentProfileId}/appProfile/{applicationProfileId}/autoDiscovery` + +Set App Profile Relates On Auto-Discovery (setAppProfileRelatesOnAutoDiscovery) + +Enables or disables automatic assignment of the app profile to new auto-discovered applications with a matching template. Only one app profile per agent profile and template pair may relate on auto-discovery. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentProfileId** | **String** | Agent Profile Id | | +| **applicationProfileId** | **String** | Agent Application Profile Id | | +| **relate** | **Boolean** | Whether the app profile should be auto-assigned to new auto-discovered applications with a matching template | | + +### Return type + +null (empty response body) + + +## setDefaultAgentProfile + +``` +AgentProfile setDefaultAgentProfile(@Nonnull String agentProfileId) +``` + +**POST** `/api/agent/profile/{agentProfileId}/default` + +Make Agent Profile Default (setDefaultAgentProfile) + +Marks agent profile as default within a tenant scope. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentProfileId** | **String** | Agent Profile Id | | + +### Return type + +**AgentProfile** + + +## unassignAppProfileFromAgentProfile + +``` +void unassignAppProfileFromAgentProfile(@Nonnull String agentProfileId, @Nonnull String applicationProfileId) +``` + +**DELETE** `/api/agent/profile/{agentProfileId}/appProfile/{applicationProfileId}` + +Unassign App Profile from Agent Profile (unassignAppProfileFromAgentProfile) + +Removes the assignment of the given agent application profile from the agent profile. Available for users with 'TENANT_ADMIN' authority. + + +### Parameters + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **agentProfileId** | **String** | Agent Profile Id | | +| **applicationProfileId** | **String** | Agent Application Profile Id | | + +### Return type + +null (empty response body) + diff --git a/pe/docs/AgentProfileId.md b/pe/docs/AgentProfileId.md new file mode 100644 index 00000000..08899cec --- /dev/null +++ b/pe/docs/AgentProfileId.md @@ -0,0 +1,30 @@ + +# AgentProfileId + +`org.thingsboard.client.model.AgentProfileId` + +**Extends:** **EntityId** + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| + + + +## Referenced Types + +> **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentProfileInfo.md b/pe/docs/AgentProfileInfo.md new file mode 100644 index 00000000..cc7710be --- /dev/null +++ b/pe/docs/AgentProfileInfo.md @@ -0,0 +1,41 @@ + +# AgentProfileInfo + +`org.thingsboard.client.model.AgentProfileInfo` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **id** | **AgentProfileId** | JSON object with the Agent Profile Id. | [optional] | +| **createdTime** | **Long** | Timestamp of the profile creation, in milliseconds | [optional] [readonly] | +| **tenantId** | **TenantId** | JSON object with Tenant Id. | [optional] [readonly] | +| **name** | **String** | Unique profile name within tenant | | +| **description** | **String** | Profile description | [optional] | +| **provisionKey** | **String** | Provision key for future auto-provisioning | [optional] | +| **provisionSecret** | **String** | Provision secret for future auto-provisioning | [optional] | +| **provisionType** | **AgentProvisionType** | Provisioning strategy. DISABLED by default. | [optional] | +| **version** | **Long** | | [optional] | +| **_default** | **Boolean** | Used to mark the default profile that will be assigned to agents when no profile is specified. | [optional] | + + + +## Referenced Types + +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. + +#### AgentProvisionType (enum) +`DISABLED` | `NO_AUTO_INSTALL` | `AUTO_INSTALL_PER_APP_TYPE` | `AUTO_INSTALL_PER_APP_PROFILE` + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentProvisionType.md b/pe/docs/AgentProvisionType.md new file mode 100644 index 00000000..cee8e69f --- /dev/null +++ b/pe/docs/AgentProvisionType.md @@ -0,0 +1,27 @@ + +# AgentProvisionType + +`org.thingsboard.client.model.AgentProvisionType` + +## Enum Values + + +* `DISABLED` (value: `"DISABLED"`) + +* `NO_AUTO_INSTALL` (value: `"NO_AUTO_INSTALL"`) + +* `AUTO_INSTALL_PER_APP_TYPE` (value: `"AUTO_INSTALL_PER_APP_TYPE"`) + +* `AUTO_INSTALL_PER_APP_PROFILE` (value: `"AUTO_INSTALL_PER_APP_PROFILE"`) + + + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AgentUpgradeRequest.md b/pe/docs/AgentUpgradeRequest.md new file mode 100644 index 00000000..ea78710f --- /dev/null +++ b/pe/docs/AgentUpgradeRequest.md @@ -0,0 +1,22 @@ + +# AgentUpgradeRequest + +`org.thingsboard.client.model.AgentUpgradeRequest` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **imageRef** | **String** | Target agent image reference — a digest-pinned reference in production, or a tag. | | + + + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/AiChatControllerApi.md b/pe/docs/AiChatControllerApi.md index 3111fde1..2ddd7966 100644 --- a/pe/docs/AiChatControllerApi.md +++ b/pe/docs/AiChatControllerApi.md @@ -6,7 +6,7 @@ com.fasterxml.jackson.databind.JsonNode createChat(@Nonnull Object body) // createChat void deleteChat(@Nonnull UUID chatId) // deleteChat com.fasterxml.jackson.databind.JsonNode getChatMessages(@Nonnull UUID chatId) // getChatMessages -com.fasterxml.jackson.databind.JsonNode listChats(@Nonnull ChatType chatType) // listChats +com.fasterxml.jackson.databind.JsonNode listChats() // listChats List sendChatMessage(@Nonnull UUID chatId, @Nonnull String xAuthorization, @Nonnull Object body, @Nullable String acceptLanguage) // sendChatMessage void updateChat(@Nonnull UUID chatId, @Nonnull Object body) // updateChat ``` @@ -81,20 +81,13 @@ getChatMessages ## listChats ``` -com.fasterxml.jackson.databind.JsonNode listChats(@Nonnull ChatType chatType) +com.fasterxml.jackson.databind.JsonNode listChats() ``` -**GET** `/api/ai/chats/{chatType}` +**GET** `/api/ai/chats` listChats - -### Parameters - -| Name | Type | Description | Notes | -|------------- | ------------- | ------------- | -------------| -| **chatType** | **ChatType** | | [enum: GENERIC, SOLUTION_BUILDER] | - ### Return type **com.fasterxml.jackson.databind.JsonNode** diff --git a/pe/docs/AiModel.md b/pe/docs/AiModel.md index fab58500..be1c52e6 100644 --- a/pe/docs/AiModel.md +++ b/pe/docs/AiModel.md @@ -18,7 +18,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### AiModelConfig | Name | Type | Description | Notes | @@ -151,7 +151,7 @@ | modelType | AiModelType | | [optional] [readonly] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### OpenAiProviderConfig | Name | Type | Description | Notes | diff --git a/pe/docs/AiModelExportData.md b/pe/docs/AiModelExportData.md index 8abeee03..42c05e59 100644 --- a/pe/docs/AiModelExportData.md +++ b/pe/docs/AiModelExportData.md @@ -14,7 +14,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityExportData | Name | Type | Description | Notes | @@ -71,10 +71,10 @@ | debugMode | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### RelationTypeGroup (enum) -`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` +`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` | `AGENT` #### CalculatedFieldType (enum) `SIMPLE` | `SCRIPT` | `GEOFENCING` | `ALARM` | `PROPAGATION` | `RELATED_ENTITIES_AGGREGATION` | `ENTITY_AGGREGATION` diff --git a/pe/docs/AiModelId.md b/pe/docs/AiModelId.md index 4a77ca44..9d187660 100644 --- a/pe/docs/AiModelId.md +++ b/pe/docs/AiModelId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/Alarm.md b/pe/docs/Alarm.md index 825c8b62..18893b1e 100644 --- a/pe/docs/Alarm.md +++ b/pe/docs/Alarm.md @@ -35,7 +35,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### AlarmSeverity (enum) `CRITICAL` | `MAJOR` | `MINOR` | `WARNING` | `INDETERMINATE` @@ -44,7 +44,7 @@ `ACTIVE_UNACK` | `ACTIVE_ACK` | `CLEARED_UNACK` | `CLEARED_ACK` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/AlarmAssignee.md b/pe/docs/AlarmAssignee.md index a976d2c2..98377cd3 100644 --- a/pe/docs/AlarmAssignee.md +++ b/pe/docs/AlarmAssignee.md @@ -16,10 +16,10 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/AlarmCalculatedFieldConfiguration.md b/pe/docs/AlarmCalculatedFieldConfiguration.md index 64692938..253c920f 100644 --- a/pe/docs/AlarmCalculatedFieldConfiguration.md +++ b/pe/docs/AlarmCalculatedFieldConfiguration.md @@ -22,7 +22,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### CalculatedFieldConfiguration | Name | Type | Description | Notes | @@ -111,7 +111,7 @@ `CLIENT_SCOPE` | `SERVER_SCOPE` | `SHARED_SCOPE` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### ArgumentType (enum) `TS_LATEST` | `ATTRIBUTE` | `TS_ROLLING` diff --git a/pe/docs/AlarmComment.md b/pe/docs/AlarmComment.md index 7c6d3061..57ff5c44 100644 --- a/pe/docs/AlarmComment.md +++ b/pe/docs/AlarmComment.md @@ -19,7 +19,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### AlarmCommentId | Name | Type | Description | Notes | @@ -30,7 +30,7 @@ `SYSTEM` | `OTHER` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/AlarmCommentInfo.md b/pe/docs/AlarmCommentInfo.md index c6380a78..d29fdfd6 100644 --- a/pe/docs/AlarmCommentInfo.md +++ b/pe/docs/AlarmCommentInfo.md @@ -22,7 +22,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### AlarmCommentId | Name | Type | Description | Notes | @@ -33,7 +33,7 @@ `SYSTEM` | `OTHER` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/AlarmCountQuery.md b/pe/docs/AlarmCountQuery.md index b31401e0..a30cd841 100644 --- a/pe/docs/AlarmCountQuery.md +++ b/pe/docs/AlarmCountQuery.md @@ -26,7 +26,7 @@ A JSON value representing the alarm count query. ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityFilter | Name | Type | Description | Notes | @@ -263,7 +263,7 @@ A JSON value representing the alarm count query. | id | UUID | ID of the entity, time-based UUID v1 | | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### EntitySearchDirection (enum) `FROM` | `TO` diff --git a/pe/docs/AlarmData.md b/pe/docs/AlarmData.md index d644f5fa..7d2ad76d 100644 --- a/pe/docs/AlarmData.md +++ b/pe/docs/AlarmData.md @@ -41,7 +41,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### AlarmSeverity (enum) `CRITICAL` | `MAJOR` | `MINOR` | `WARNING` | `INDETERMINATE` @@ -65,7 +65,7 @@ `ACTIVE_UNACK` | `ACTIVE_ACK` | `CLEARED_UNACK` | `CLEARED_ACK` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/AlarmDataPageLink.md b/pe/docs/AlarmDataPageLink.md index 6cf7231d..256ccdd3 100644 --- a/pe/docs/AlarmDataPageLink.md +++ b/pe/docs/AlarmDataPageLink.md @@ -25,7 +25,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityDataSortOrder | Name | Type | Description | Notes | @@ -52,7 +52,7 @@ `ATTRIBUTE` | `CLIENT_ATTRIBUTE` | `SHARED_ATTRIBUTE` | `SERVER_ATTRIBUTE` | `TIME_SERIES` | `ENTITY_FIELD` | `ALARM_FIELD` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/AlarmDataQuery.md b/pe/docs/AlarmDataQuery.md index ce4490fd..5c4eb501 100644 --- a/pe/docs/AlarmDataQuery.md +++ b/pe/docs/AlarmDataQuery.md @@ -22,7 +22,7 @@ A JSON value representing the alarm data query. See API call notes above for mor ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityFilter | Name | Type | Description | Notes | @@ -285,7 +285,7 @@ A JSON value representing the alarm data query. See API call notes above for mor | id | UUID | ID of the entity, time-based UUID v1 | | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### EntitySearchDirection (enum) `FROM` | `TO` diff --git a/pe/docs/AlarmFilterConfig.md b/pe/docs/AlarmFilterConfig.md index 5ca74de9..05e58f38 100644 --- a/pe/docs/AlarmFilterConfig.md +++ b/pe/docs/AlarmFilterConfig.md @@ -17,7 +17,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### AlarmSearchStatus (enum) `ANY` | `ACTIVE` | `CLEARED` | `ACK` | `UNACK` @@ -26,7 +26,7 @@ `CRITICAL` | `MAJOR` | `MINOR` | `WARNING` | `INDETERMINATE` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/AlarmId.md b/pe/docs/AlarmId.md index 9353dc2d..1cb90847 100644 --- a/pe/docs/AlarmId.md +++ b/pe/docs/AlarmId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/AlarmInfo.md b/pe/docs/AlarmInfo.md index 0f6c6c5a..77ecd565 100644 --- a/pe/docs/AlarmInfo.md +++ b/pe/docs/AlarmInfo.md @@ -39,7 +39,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### AlarmSeverity (enum) `CRITICAL` | `MAJOR` | `MINOR` | `WARNING` | `INDETERMINATE` @@ -56,7 +56,7 @@ `ACTIVE_UNACK` | `ACTIVE_ACK` | `CLEARED_UNACK` | `CLEARED_ACK` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/AlarmRule.md b/pe/docs/AlarmRule.md index 38bd1c4b..fd6d85f5 100644 --- a/pe/docs/AlarmRule.md +++ b/pe/docs/AlarmRule.md @@ -15,7 +15,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### AlarmCondition | Name | Type | Description | Notes | @@ -98,7 +98,7 @@ | dynamicValueArgument | String | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### AlarmConditionFilter | Name | Type | Description | Notes | diff --git a/pe/docs/AlarmRuleControllerApi.md b/pe/docs/AlarmRuleControllerApi.md index 495d5ae4..6c0273fe 100644 --- a/pe/docs/AlarmRuleControllerApi.md +++ b/pe/docs/AlarmRuleControllerApi.md @@ -108,7 +108,7 @@ Fetch tenant alarm rules based on the filter. Available for users with 'TENANT_ |------------- | ------------- | ------------- | -------------| | **pageSize** | **Integer** | Maximum amount of entities in a one page | | | **page** | **Integer** | Sequence number of page starting from 0 | | -| **entityType** | **EntityType** | Entity type filter. If not specified, alarm rules for all supported entity types will be returned. | [optional] [enum: TENANT, CUSTOMER, USER, DASHBOARD, ASSET, DEVICE, ALARM, ENTITY_GROUP, CONVERTER, INTEGRATION, RULE_CHAIN, RULE_NODE, SCHEDULER_EVENT, BLOB_ENTITY, REPORT_TEMPLATE, REPORT, ENTITY_VIEW, WIDGETS_BUNDLE, WIDGET_TYPE, ROLE, GROUP_PERMISSION, TENANT_PROFILE, DEVICE_PROFILE, ASSET_PROFILE, API_USAGE_STATE, TB_RESOURCE, OTA_PACKAGE, EDGE, RPC, QUEUE, NOTIFICATION_TARGET, NOTIFICATION_TEMPLATE, NOTIFICATION_REQUEST, NOTIFICATION, NOTIFICATION_RULE, QUEUE_STATS, OAUTH2_CLIENT, DOMAIN, MOBILE_APP, MOBILE_APP_BUNDLE, CALCULATED_FIELD, JOB, SECRET, ADMIN_SETTINGS, AI_MODEL, API_KEY] | +| **entityType** | **EntityType** | Entity type filter. If not specified, alarm rules for all supported entity types will be returned. | [optional] [enum: TENANT, CUSTOMER, USER, DASHBOARD, ASSET, DEVICE, ALARM, ENTITY_GROUP, CONVERTER, INTEGRATION, RULE_CHAIN, RULE_NODE, SCHEDULER_EVENT, BLOB_ENTITY, REPORT_TEMPLATE, REPORT, ENTITY_VIEW, WIDGETS_BUNDLE, WIDGET_TYPE, ROLE, GROUP_PERMISSION, TENANT_PROFILE, DEVICE_PROFILE, ASSET_PROFILE, API_USAGE_STATE, TB_RESOURCE, OTA_PACKAGE, EDGE, RPC, QUEUE, NOTIFICATION_TARGET, NOTIFICATION_TEMPLATE, NOTIFICATION_REQUEST, NOTIFICATION, NOTIFICATION_RULE, QUEUE_STATS, OAUTH2_CLIENT, DOMAIN, MOBILE_APP, MOBILE_APP_BUNDLE, CALCULATED_FIELD, JOB, SECRET, ADMIN_SETTINGS, AI_MODEL, API_KEY, AGENT, AGENT_APPLICATION, AGENT_APP_EVENT, AGENT_APP_UNIT, AGENT_APP_PROFILE, AGENT_PROFILE, AGENT_BULK_ACTION] | | **entities** | **Set** | Entities filter. If not specified, alarm rules for entity type filter will be returned. | [optional] | | **textSearch** | **String** | The case insensitive 'substring' filter based on the calculated field name. | [optional] | | **sortProperty** | **String** | Property of entity to sort by | [optional] [enum: createdTime, name] | diff --git a/pe/docs/AlarmRuleDefinition.md b/pe/docs/AlarmRuleDefinition.md index 9266387c..6a0b40ce 100644 --- a/pe/docs/AlarmRuleDefinition.md +++ b/pe/docs/AlarmRuleDefinition.md @@ -23,7 +23,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### DebugSettings | Name | Type | Description | Notes | @@ -33,7 +33,7 @@ | allEnabledUntil | Long | Timestamp of the end time for the processing debug events. | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### CalculatedFieldConfiguration | Name | Type | Description | Notes | diff --git a/pe/docs/AlarmRuleDefinitionInfo.md b/pe/docs/AlarmRuleDefinitionInfo.md index 0653cacd..fe107b3a 100644 --- a/pe/docs/AlarmRuleDefinitionInfo.md +++ b/pe/docs/AlarmRuleDefinitionInfo.md @@ -24,7 +24,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### DebugSettings | Name | Type | Description | Notes | @@ -34,7 +34,7 @@ | allEnabledUntil | Long | Timestamp of the end time for the processing debug events. | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### CalculatedFieldConfiguration | Name | Type | Description | Notes | diff --git a/pe/docs/AlarmTableComponent.md b/pe/docs/AlarmTableComponent.md index 3edb6b68..ed6b2366 100644 --- a/pe/docs/AlarmTableComponent.md +++ b/pe/docs/AlarmTableComponent.md @@ -25,7 +25,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### ReportComponent | Name | Type | Description | Notes | @@ -258,7 +258,7 @@ | color | String | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### LineSeriesStepType (enum) `START` | `MIDDLE` | `END` diff --git a/pe/docs/AliasEntityId.md b/pe/docs/AliasEntityId.md index 68bd731a..26b7a692 100644 --- a/pe/docs/AliasEntityId.md +++ b/pe/docs/AliasEntityId.md @@ -19,7 +19,7 @@ `CURRENT_CUSTOMER` | `CURRENT_TENANT` | `CURRENT_USER` | `CURRENT_USER_OWNER` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/AllowedPermissionsInfo.md b/pe/docs/AllowedPermissionsInfo.md index 042aaa84..d0203a3f 100644 --- a/pe/docs/AllowedPermissionsInfo.md +++ b/pe/docs/AllowedPermissionsInfo.md @@ -19,13 +19,13 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### Operation (enum) `ALL` | `CREATE` | `READ` | `WRITE` | `DELETE` | `RPC_CALL` | `READ_CREDENTIALS` | `WRITE_CREDENTIALS` | `READ_ATTRIBUTES` | `WRITE_ATTRIBUTES` | … (21 values total) #### Resource (enum) -`ALL` | `PROFILE` | `ADMIN_SETTINGS` | `ALARM` | `DEVICE` | `ASSET` | `CUSTOMER` | `DASHBOARD` | `ENTITY_VIEW` | `EDGE` | … (54 values total) +`ALL` | `PROFILE` | `ADMIN_SETTINGS` | `ALARM` | `DEVICE` | `ASSET` | `CUSTOMER` | `DASHBOARD` | `ENTITY_VIEW` | `EDGE` | … (58 values total) #### MergedUserPermissions | Name | Type | Description | Notes | @@ -50,7 +50,7 @@ | hasGenericRead | Boolean | Indicates if generic permission assigned to the user group. | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/ApiKey.md b/pe/docs/ApiKey.md index 103b75d8..f2ec3058 100644 --- a/pe/docs/ApiKey.md +++ b/pe/docs/ApiKey.md @@ -21,10 +21,10 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/ApiKeyId.md b/pe/docs/ApiKeyId.md index 007ad57b..b250a5ad 100644 --- a/pe/docs/ApiKeyId.md +++ b/pe/docs/ApiKeyId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/ApiKeyInfo.md b/pe/docs/ApiKeyInfo.md index 15a4df66..2866af3c 100644 --- a/pe/docs/ApiKeyInfo.md +++ b/pe/docs/ApiKeyInfo.md @@ -22,10 +22,10 @@ A JSON value representing the API key. ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/ApiUsageStateFilter.md b/pe/docs/ApiUsageStateFilter.md index f3a9e3b8..1b1a8dc6 100644 --- a/pe/docs/ApiUsageStateFilter.md +++ b/pe/docs/ApiUsageStateFilter.md @@ -15,7 +15,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityFilter | Name | Type | Description | Notes | @@ -23,7 +23,7 @@ | type | String | | | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/ApiUsageStateId.md b/pe/docs/ApiUsageStateId.md index 38f2c1af..4519118c 100644 --- a/pe/docs/ApiUsageStateId.md +++ b/pe/docs/ApiUsageStateId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/Argument.md b/pe/docs/Argument.md index a68094be..8f00753c 100644 --- a/pe/docs/Argument.md +++ b/pe/docs/Argument.md @@ -18,7 +18,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### CfArgumentDynamicSourceConfiguration | Name | Type | Description | Notes | @@ -41,7 +41,7 @@ | scope | AttributeScope | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### ArgumentType (enum) `TS_LATEST` | `ATTRIBUTE` | `TS_ROLLING` diff --git a/pe/docs/Asset.md b/pe/docs/Asset.md index aa42da3d..8d225bf6 100644 --- a/pe/docs/Asset.md +++ b/pe/docs/Asset.md @@ -23,10 +23,10 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/AssetExportData.md b/pe/docs/AssetExportData.md index ad006ee0..33f1c811 100644 --- a/pe/docs/AssetExportData.md +++ b/pe/docs/AssetExportData.md @@ -14,7 +14,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityExportData | Name | Type | Description | Notes | @@ -71,10 +71,10 @@ | debugMode | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### RelationTypeGroup (enum) -`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` +`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` | `AGENT` #### CalculatedFieldType (enum) `SIMPLE` | `SCRIPT` | `GEOFENCING` | `ALARM` | `PROPAGATION` | `RELATED_ENTITIES_AGGREGATION` | `ENTITY_AGGREGATION` diff --git a/pe/docs/AssetId.md b/pe/docs/AssetId.md index 05ab7b50..9cd48e78 100644 --- a/pe/docs/AssetId.md +++ b/pe/docs/AssetId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/AssetInfo.md b/pe/docs/AssetInfo.md index 50f864d1..b3f2f0ea 100644 --- a/pe/docs/AssetInfo.md +++ b/pe/docs/AssetInfo.md @@ -25,7 +25,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityInfo | Name | Type | Description | Notes | @@ -34,7 +34,7 @@ | name | String | Entity Name | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/AssetProfile.md b/pe/docs/AssetProfile.md index 630aac22..e351c402 100644 --- a/pe/docs/AssetProfile.md +++ b/pe/docs/AssetProfile.md @@ -26,10 +26,10 @@ A JSON value representing the asset profile. ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/AssetProfileExportData.md b/pe/docs/AssetProfileExportData.md index 7ba8b422..04e7804b 100644 --- a/pe/docs/AssetProfileExportData.md +++ b/pe/docs/AssetProfileExportData.md @@ -14,7 +14,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityExportData | Name | Type | Description | Notes | @@ -71,10 +71,10 @@ | debugMode | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### RelationTypeGroup (enum) -`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` +`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` | `AGENT` #### CalculatedFieldType (enum) `SIMPLE` | `SCRIPT` | `GEOFENCING` | `ALARM` | `PROPAGATION` | `RELATED_ENTITIES_AGGREGATION` | `ENTITY_AGGREGATION` diff --git a/pe/docs/AssetProfileId.md b/pe/docs/AssetProfileId.md index 5e9553a7..955ceeac 100644 --- a/pe/docs/AssetProfileId.md +++ b/pe/docs/AssetProfileId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/AssetProfileInfo.md b/pe/docs/AssetProfileInfo.md index 350f0870..5ecf017a 100644 --- a/pe/docs/AssetProfileInfo.md +++ b/pe/docs/AssetProfileInfo.md @@ -17,10 +17,10 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/AssetSearchQuery.md b/pe/docs/AssetSearchQuery.md index bd2e4991..5b11b309 100644 --- a/pe/docs/AssetSearchQuery.md +++ b/pe/docs/AssetSearchQuery.md @@ -26,13 +26,13 @@ | fetchLastLevelOnly | Boolean | Fetch entities that match the last level of search. Useful to find Devices that are strictly 'maxLevel' relations away from the root entity. | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### EntitySearchDirection (enum) `FROM` | `TO` #### RelationTypeGroup (enum) -`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` +`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` | `AGENT` --- diff --git a/pe/docs/AssetSearchQueryFilter.md b/pe/docs/AssetSearchQueryFilter.md index 340d8db1..a4652c9f 100644 --- a/pe/docs/AssetSearchQueryFilter.md +++ b/pe/docs/AssetSearchQueryFilter.md @@ -41,7 +41,7 @@ `CURRENT_CUSTOMER` | `CURRENT_TENANT` | `CURRENT_USER` | `CURRENT_USER_OWNER` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/AuditLog.md b/pe/docs/AuditLog.md index 0160e065..3ce951d3 100644 --- a/pe/docs/AuditLog.md +++ b/pe/docs/AuditLog.md @@ -24,7 +24,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### AuditLogId | Name | Type | Description | Notes | @@ -38,7 +38,7 @@ `SUCCESS` | `FAILURE` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/AvailableEntityKeys.md b/pe/docs/AvailableEntityKeys.md index 159b9529..7009ff15 100644 --- a/pe/docs/AvailableEntityKeys.md +++ b/pe/docs/AvailableEntityKeys.md @@ -18,7 +18,7 @@ Contains unique time series and attribute key names discovered from entities mat ## Referenced Types #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/AvailableEntityKeysV2.md b/pe/docs/AvailableEntityKeysV2.md index 4a100ff3..cfb969b1 100644 --- a/pe/docs/AvailableEntityKeysV2.md +++ b/pe/docs/AvailableEntityKeysV2.md @@ -19,7 +19,7 @@ Contains unique time series and attribute key names discovered from entities mat ## Referenced Types #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### KeyInfo | Name | Type | Description | Notes | diff --git a/pe/docs/BackupVolumesRemoveStep.md b/pe/docs/BackupVolumesRemoveStep.md new file mode 100644 index 00000000..8bd9d20f --- /dev/null +++ b/pe/docs/BackupVolumesRemoveStep.md @@ -0,0 +1,39 @@ + +# BackupVolumesRemoveStep + +`org.thingsboard.client.model.BackupVolumesRemoveStep` + +**Extends:** **AgentAppStep** + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| + + + +## Referenced Types + +#### AgentAppStep +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| id | UUID | | [optional] | +| nextId | UUID | | [optional] | +| title | String | | [optional] | +| templateOnly | Boolean | | [optional] | +| condition | String | | [optional] | +| stateful | Boolean | | [optional] | +| type | AgentAppStepType | | [optional] | + +#### AgentAppStepType (enum) +`COMPOSE_TEMPLATE` | `COMPOSE` | `COMPOSE_START` | `COMPOSE_DOWN` | `ROLLBACK` | `BACKUP_VOLUME` | `BACKUP_VOLUME_REMOVE` | `COMPOSE_RESTART` | `RUN_JOB` | `AGENT_PREPARE` | … (11 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/BackupVolumesStep.md b/pe/docs/BackupVolumesStep.md new file mode 100644 index 00000000..2e1c9257 --- /dev/null +++ b/pe/docs/BackupVolumesStep.md @@ -0,0 +1,56 @@ + +# BackupVolumesStep + +`org.thingsboard.client.model.BackupVolumesStep` + +**Extends:** **AgentAppStep** + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **state** | **BackupVolumesStepState** | | [optional] | + + + +## Referenced Types + +#### AgentAppStep +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| id | UUID | | [optional] | +| nextId | UUID | | [optional] | +| title | String | | [optional] | +| templateOnly | Boolean | | [optional] | +| condition | String | | [optional] | +| stateful | Boolean | | [optional] | +| type | AgentAppStepType | | [optional] | + +#### BackupVolumesStepState *(extends AgentAppStepState)* +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| backupVolumes | StepFieldListString | | [optional] | + +#### AgentAppStepType (enum) +`COMPOSE_TEMPLATE` | `COMPOSE` | `COMPOSE_START` | `COMPOSE_DOWN` | `ROLLBACK` | `BACKUP_VOLUME` | `BACKUP_VOLUME_REMOVE` | `COMPOSE_RESTART` | `RUN_JOB` | `AGENT_PREPARE` | … (11 values total) + +#### AgentAppStepState +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| type | AgentAppStepType | | [optional] | + +#### StepFieldListString +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| userChoice | Boolean | | [optional] | +| value | List | | [optional] | + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/BackupVolumesStepState.md b/pe/docs/BackupVolumesStepState.md new file mode 100644 index 00000000..6c289717 --- /dev/null +++ b/pe/docs/BackupVolumesStepState.md @@ -0,0 +1,40 @@ + +# BackupVolumesStepState + +`org.thingsboard.client.model.BackupVolumesStepState` + +**Extends:** **AgentAppStepState** + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **backupVolumes** | **StepFieldListString** | | [optional] | + + + +## Referenced Types + +#### AgentAppStepState +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| type | AgentAppStepType | | [optional] | + +#### StepFieldListString +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| userChoice | Boolean | | [optional] | +| value | List | | [optional] | + +#### AgentAppStepType (enum) +`COMPOSE_TEMPLATE` | `COMPOSE` | `COMPOSE_START` | `COMPOSE_DOWN` | `ROLLBACK` | `BACKUP_VOLUME` | `BACKUP_VOLUME_REMOVE` | `COMPOSE_RESTART` | `RUN_JOB` | `AGENT_PREPARE` | … (11 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/BlobEntityId.md b/pe/docs/BlobEntityId.md index 2d7e3b8a..0b8d99b4 100644 --- a/pe/docs/BlobEntityId.md +++ b/pe/docs/BlobEntityId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/BlobEntityInfo.md b/pe/docs/BlobEntityInfo.md index 0ce65936..b52bf344 100644 --- a/pe/docs/BlobEntityInfo.md +++ b/pe/docs/BlobEntityInfo.md @@ -30,10 +30,10 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/BlobEntityWithCustomerInfo.md b/pe/docs/BlobEntityWithCustomerInfo.md index 735b57e7..57196dc3 100644 --- a/pe/docs/BlobEntityWithCustomerInfo.md +++ b/pe/docs/BlobEntityWithCustomerInfo.md @@ -32,10 +32,10 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/BulkImportRequest.md b/pe/docs/BulkImportRequest.md index 2608dc17..0003b5d6 100644 --- a/pe/docs/BulkImportRequest.md +++ b/pe/docs/BulkImportRequest.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### Mapping | Name | Type | Description | Notes | @@ -36,7 +36,7 @@ `NAME` | `TYPE` | `LABEL` | `SHARED_ATTRIBUTE` | `SERVER_ATTRIBUTE` | `TIMESERIES` | `ACCESS_TOKEN` | `X509` | `MQTT_CLIENT_ID` | `MQTT_USER_NAME` | … (32 values total) #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/BulkOperationPreview.md b/pe/docs/BulkOperationPreview.md new file mode 100644 index 00000000..8cdad381 --- /dev/null +++ b/pe/docs/BulkOperationPreview.md @@ -0,0 +1,45 @@ + +# BulkOperationPreview + +`org.thingsboard.client.model.BulkOperationPreview` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **total** | **Integer** | Total number of apps targeted by the bulk operation | [optional] | +| **eligible** | **Integer** | Number of apps that would be submitted (total minus skipped) | [optional] | +| **skippedCountsByReason** | **Map\** | Skip count per reason for the targeted apps | [optional] | +| **skippedSample** | **List\** | Sample of skipped apps, capped per reason. Use the run history to inspect the full list. | [optional] | + + + +## Referenced Types + +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. + +#### SkippedApp +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| agentId | AgentId | Agent Id owning the application | [optional] | +| agentName | String | Agent name | [optional] | +| applicationId | AgentApplicationId | Application Id | [optional] | +| applicationName | String | Application name | [optional] | +| reason | SkipReason | Reason for skipping | [optional] | +| msg | String | Optional message in case of a failure | [optional] | + +#### SkipReason (enum) +`VERSION_MISMATCH` | `ACTIVE_EVENT` | `RATE_LIMIT_EXCEEDED` | `ERROR` + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/BulkOperationRequest.md b/pe/docs/BulkOperationRequest.md new file mode 100644 index 00000000..689d0eaa --- /dev/null +++ b/pe/docs/BulkOperationRequest.md @@ -0,0 +1,84 @@ + +# BulkOperationRequest + +`org.thingsboard.client.model.BulkOperationRequest` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **actionType** | **AgentAppEventActionType** | | [optional] | +| **stepInputs** | **Map\** | | [optional] | + + + +## Referenced Types + +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. + +#### AgentAppEventActionType (enum) +`INSTALL` | `UPDATE` | `DELETE` | `RESTART` | `ROLLBACK` | `UPGRADE` | `AGENT_UPGRADE` + +#### AgentAppEventStepStatesValue +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| type | AgentAppStepType | | [optional] | +| backupVolumes | StepFieldListString | | [optional] | +| serviceImageRegexPatterns | StepFieldListString | | [optional] | +| removeVolumes | StepFieldBoolean | | [optional] | +| pullImages | StepFieldBoolean | | [optional] | +| failedEventId | StepFieldAgentAppEventId | | [optional] | +| image | StepFieldString | | [optional] | +| entrypoint | StepFieldListString | | [optional] | +| cmd | StepFieldListString | | [optional] | +| env | StepFieldListString | | [optional] | +| binds | StepFieldListString | | [optional] | +| networks | StepFieldListString | | [optional] | +| retries | StepFieldInteger | | [optional] | +| networkFromServiceImageRegexPattern | StepFieldString | | [optional] | + +#### AgentAppStepType (enum) +`COMPOSE_TEMPLATE` | `COMPOSE` | `COMPOSE_START` | `COMPOSE_DOWN` | `ROLLBACK` | `BACKUP_VOLUME` | `BACKUP_VOLUME_REMOVE` | `COMPOSE_RESTART` | `RUN_JOB` | `AGENT_PREPARE` | … (11 values total) + +#### StepFieldListString +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| userChoice | Boolean | | [optional] | +| value | List | | [optional] | + +#### StepFieldBoolean +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | Boolean | | [optional] | +| userChoice | Boolean | | [optional] | + +#### StepFieldAgentAppEventId +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | AgentAppEventId | | [optional] | +| userChoice | Boolean | | [optional] | + +#### StepFieldString +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | String | | [optional] | +| userChoice | Boolean | | [optional] | + +#### StepFieldInteger +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | Integer | | [optional] | +| userChoice | Boolean | | [optional] | + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/CalculatedField.md b/pe/docs/CalculatedField.md index d006da63..6ecf2b98 100644 --- a/pe/docs/CalculatedField.md +++ b/pe/docs/CalculatedField.md @@ -24,7 +24,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### CalculatedFieldType (enum) `SIMPLE` | `SCRIPT` | `GEOFENCING` | `ALARM` | `PROPAGATION` | `RELATED_ENTITIES_AGGREGATION` | `ENTITY_AGGREGATION` @@ -104,7 +104,7 @@ | useLatestTs | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### Output | Name | Type | Description | Notes | diff --git a/pe/docs/CalculatedFieldConfiguration.md b/pe/docs/CalculatedFieldConfiguration.md index 6ffd8cd8..506f49fb 100644 --- a/pe/docs/CalculatedFieldConfiguration.md +++ b/pe/docs/CalculatedFieldConfiguration.md @@ -77,7 +77,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### Output | Name | Type | Description | Notes | @@ -308,7 +308,7 @@ *See AttributesOutputStrategy for properties.* #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### ArgumentType (enum) `TS_LATEST` | `ATTRIBUTE` | `TS_ROLLING` diff --git a/pe/docs/CalculatedFieldControllerApi.md b/pe/docs/CalculatedFieldControllerApi.md index f7af0761..01297ef4 100644 --- a/pe/docs/CalculatedFieldControllerApi.md +++ b/pe/docs/CalculatedFieldControllerApi.md @@ -114,7 +114,7 @@ Fetch tenant calculated fields based on the filter. | **pageSize** | **Integer** | Maximum amount of entities in a one page | | | **page** | **Integer** | Sequence number of page starting from 0 | | | **types** | **Set** | Calculated field types filter. | [optional] | -| **entityType** | **EntityType** | Entity type filter. If not specified, calculated fields for all supported entity types will be returned. | [optional] [enum: TENANT, CUSTOMER, USER, DASHBOARD, ASSET, DEVICE, ALARM, ENTITY_GROUP, CONVERTER, INTEGRATION, RULE_CHAIN, RULE_NODE, SCHEDULER_EVENT, BLOB_ENTITY, REPORT_TEMPLATE, REPORT, ENTITY_VIEW, WIDGETS_BUNDLE, WIDGET_TYPE, ROLE, GROUP_PERMISSION, TENANT_PROFILE, DEVICE_PROFILE, ASSET_PROFILE, API_USAGE_STATE, TB_RESOURCE, OTA_PACKAGE, EDGE, RPC, QUEUE, NOTIFICATION_TARGET, NOTIFICATION_TEMPLATE, NOTIFICATION_REQUEST, NOTIFICATION, NOTIFICATION_RULE, QUEUE_STATS, OAUTH2_CLIENT, DOMAIN, MOBILE_APP, MOBILE_APP_BUNDLE, CALCULATED_FIELD, JOB, SECRET, ADMIN_SETTINGS, AI_MODEL, API_KEY] | +| **entityType** | **EntityType** | Entity type filter. If not specified, calculated fields for all supported entity types will be returned. | [optional] [enum: TENANT, CUSTOMER, USER, DASHBOARD, ASSET, DEVICE, ALARM, ENTITY_GROUP, CONVERTER, INTEGRATION, RULE_CHAIN, RULE_NODE, SCHEDULER_EVENT, BLOB_ENTITY, REPORT_TEMPLATE, REPORT, ENTITY_VIEW, WIDGETS_BUNDLE, WIDGET_TYPE, ROLE, GROUP_PERMISSION, TENANT_PROFILE, DEVICE_PROFILE, ASSET_PROFILE, API_USAGE_STATE, TB_RESOURCE, OTA_PACKAGE, EDGE, RPC, QUEUE, NOTIFICATION_TARGET, NOTIFICATION_TEMPLATE, NOTIFICATION_REQUEST, NOTIFICATION, NOTIFICATION_RULE, QUEUE_STATS, OAUTH2_CLIENT, DOMAIN, MOBILE_APP, MOBILE_APP_BUNDLE, CALCULATED_FIELD, JOB, SECRET, ADMIN_SETTINGS, AI_MODEL, API_KEY, AGENT, AGENT_APPLICATION, AGENT_APP_EVENT, AGENT_APP_UNIT, AGENT_APP_PROFILE, AGENT_PROFILE, AGENT_BULK_ACTION] | | **entities** | **Set** | Entities filter. If not specified, calculated fields for entity type filter will be returned. | [optional] | | **textSearch** | **String** | The case insensitive 'substring' filter based on the calculated field name. | [optional] | | **sortProperty** | **String** | Property of entity to sort by | [optional] [enum: createdTime, name] | diff --git a/pe/docs/CalculatedFieldId.md b/pe/docs/CalculatedFieldId.md index d9d1c9b2..c4b2dad5 100644 --- a/pe/docs/CalculatedFieldId.md +++ b/pe/docs/CalculatedFieldId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/CalculatedFieldInfo.md b/pe/docs/CalculatedFieldInfo.md index a2164ccc..ea270634 100644 --- a/pe/docs/CalculatedFieldInfo.md +++ b/pe/docs/CalculatedFieldInfo.md @@ -25,7 +25,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### CalculatedFieldType (enum) `SIMPLE` | `SCRIPT` | `GEOFENCING` | `ALARM` | `PROPAGATION` | `RELATED_ENTITIES_AGGREGATION` | `ENTITY_AGGREGATION` @@ -105,7 +105,7 @@ | useLatestTs | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### Output | Name | Type | Description | Notes | diff --git a/pe/docs/CfReprocessingJobConfiguration.md b/pe/docs/CfReprocessingJobConfiguration.md index e483d6fe..242bcadb 100644 --- a/pe/docs/CfReprocessingJobConfiguration.md +++ b/pe/docs/CfReprocessingJobConfiguration.md @@ -18,7 +18,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### JobConfiguration | Name | Type | Description | Notes | @@ -53,7 +53,7 @@ | report | Report | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### CfReprocessingTaskFailure | Name | Type | Description | Notes | diff --git a/pe/docs/CfReprocessingJobResult.md b/pe/docs/CfReprocessingJobResult.md index a8edcc86..bdd62859 100644 --- a/pe/docs/CfReprocessingJobResult.md +++ b/pe/docs/CfReprocessingJobResult.md @@ -14,7 +14,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### JobResult | Name | Type | Description | Notes | @@ -93,7 +93,7 @@ `PDF` | `CSV` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/CfReprocessingTaskFailure.md b/pe/docs/CfReprocessingTaskFailure.md index 83ce0094..70862850 100644 --- a/pe/docs/CfReprocessingTaskFailure.md +++ b/pe/docs/CfReprocessingTaskFailure.md @@ -14,7 +14,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityInfo | Name | Type | Description | Notes | @@ -23,7 +23,7 @@ | name | String | Entity Name | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/CfReprocessingTaskResult.md b/pe/docs/CfReprocessingTaskResult.md index 57583854..1db2c9e4 100644 --- a/pe/docs/CfReprocessingTaskResult.md +++ b/pe/docs/CfReprocessingTaskResult.md @@ -15,7 +15,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### TaskResult | Name | Type | Description | Notes | @@ -40,7 +40,7 @@ | name | String | Entity Name | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/ComposeDownStep.md b/pe/docs/ComposeDownStep.md new file mode 100644 index 00000000..8f769ef7 --- /dev/null +++ b/pe/docs/ComposeDownStep.md @@ -0,0 +1,63 @@ + +# ComposeDownStep + +`org.thingsboard.client.model.ComposeDownStep` + +**Extends:** **AgentAppStep** + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **state** | **ComposeDownStepState** | | [optional] | + + + +## Referenced Types + +#### AgentAppStep +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| id | UUID | | [optional] | +| nextId | UUID | | [optional] | +| title | String | | [optional] | +| templateOnly | Boolean | | [optional] | +| condition | String | | [optional] | +| stateful | Boolean | | [optional] | +| type | AgentAppStepType | | [optional] | + +#### ComposeDownStepState *(extends AgentAppStepState)* +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| serviceImageRegexPatterns | StepFieldListString | | [optional] | +| removeVolumes | StepFieldBoolean | | [optional] | + +#### AgentAppStepType (enum) +`COMPOSE_TEMPLATE` | `COMPOSE` | `COMPOSE_START` | `COMPOSE_DOWN` | `ROLLBACK` | `BACKUP_VOLUME` | `BACKUP_VOLUME_REMOVE` | `COMPOSE_RESTART` | `RUN_JOB` | `AGENT_PREPARE` | … (11 values total) + +#### AgentAppStepState +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| type | AgentAppStepType | | [optional] | + +#### StepFieldListString +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| userChoice | Boolean | | [optional] | +| value | List | | [optional] | + +#### StepFieldBoolean +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | Boolean | | [optional] | +| userChoice | Boolean | | [optional] | + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/ComposeDownStepState.md b/pe/docs/ComposeDownStepState.md new file mode 100644 index 00000000..084dd8c3 --- /dev/null +++ b/pe/docs/ComposeDownStepState.md @@ -0,0 +1,47 @@ + +# ComposeDownStepState + +`org.thingsboard.client.model.ComposeDownStepState` + +**Extends:** **AgentAppStepState** + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **serviceImageRegexPatterns** | **StepFieldListString** | | [optional] | +| **removeVolumes** | **StepFieldBoolean** | | [optional] | + + + +## Referenced Types + +#### AgentAppStepState +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| type | AgentAppStepType | | [optional] | + +#### StepFieldListString +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| userChoice | Boolean | | [optional] | +| value | List | | [optional] | + +#### StepFieldBoolean +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | Boolean | | [optional] | +| userChoice | Boolean | | [optional] | + +#### AgentAppStepType (enum) +`COMPOSE_TEMPLATE` | `COMPOSE` | `COMPOSE_START` | `COMPOSE_DOWN` | `ROLLBACK` | `BACKUP_VOLUME` | `BACKUP_VOLUME_REMOVE` | `COMPOSE_RESTART` | `RUN_JOB` | `AGENT_PREPARE` | … (11 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/ComposeRestartStep.md b/pe/docs/ComposeRestartStep.md new file mode 100644 index 00000000..2ff965ef --- /dev/null +++ b/pe/docs/ComposeRestartStep.md @@ -0,0 +1,39 @@ + +# ComposeRestartStep + +`org.thingsboard.client.model.ComposeRestartStep` + +**Extends:** **AgentAppStep** + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| + + + +## Referenced Types + +#### AgentAppStep +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| id | UUID | | [optional] | +| nextId | UUID | | [optional] | +| title | String | | [optional] | +| templateOnly | Boolean | | [optional] | +| condition | String | | [optional] | +| stateful | Boolean | | [optional] | +| type | AgentAppStepType | | [optional] | + +#### AgentAppStepType (enum) +`COMPOSE_TEMPLATE` | `COMPOSE` | `COMPOSE_START` | `COMPOSE_DOWN` | `ROLLBACK` | `BACKUP_VOLUME` | `BACKUP_VOLUME_REMOVE` | `COMPOSE_RESTART` | `RUN_JOB` | `AGENT_PREPARE` | … (11 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/ComposeStartStep.md b/pe/docs/ComposeStartStep.md new file mode 100644 index 00000000..80d01adc --- /dev/null +++ b/pe/docs/ComposeStartStep.md @@ -0,0 +1,39 @@ + +# ComposeStartStep + +`org.thingsboard.client.model.ComposeStartStep` + +**Extends:** **AgentAppStep** + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| + + + +## Referenced Types + +#### AgentAppStep +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| id | UUID | | [optional] | +| nextId | UUID | | [optional] | +| title | String | | [optional] | +| templateOnly | Boolean | | [optional] | +| condition | String | | [optional] | +| stateful | Boolean | | [optional] | +| type | AgentAppStepType | | [optional] | + +#### AgentAppStepType (enum) +`COMPOSE_TEMPLATE` | `COMPOSE` | `COMPOSE_START` | `COMPOSE_DOWN` | `ROLLBACK` | `BACKUP_VOLUME` | `BACKUP_VOLUME_REMOVE` | `COMPOSE_RESTART` | `RUN_JOB` | `AGENT_PREPARE` | … (11 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/ComposeStep.md b/pe/docs/ComposeStep.md new file mode 100644 index 00000000..fe23ae32 --- /dev/null +++ b/pe/docs/ComposeStep.md @@ -0,0 +1,63 @@ + +# ComposeStep + +`org.thingsboard.client.model.ComposeStep` + +**Extends:** **AgentAppStep** + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **state** | **ComposeStepState** | | [optional] | + + + +## Referenced Types + +#### AgentAppStep +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| id | UUID | | [optional] | +| nextId | UUID | | [optional] | +| title | String | | [optional] | +| templateOnly | Boolean | | [optional] | +| condition | String | | [optional] | +| stateful | Boolean | | [optional] | +| type | AgentAppStepType | | [optional] | + +#### ComposeStepState *(extends AgentAppStepState)* +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| serviceImageRegexPatterns | StepFieldListString | | [optional] | +| pullImages | StepFieldBoolean | | [optional] | + +#### AgentAppStepType (enum) +`COMPOSE_TEMPLATE` | `COMPOSE` | `COMPOSE_START` | `COMPOSE_DOWN` | `ROLLBACK` | `BACKUP_VOLUME` | `BACKUP_VOLUME_REMOVE` | `COMPOSE_RESTART` | `RUN_JOB` | `AGENT_PREPARE` | … (11 values total) + +#### AgentAppStepState +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| type | AgentAppStepType | | [optional] | + +#### StepFieldListString +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| userChoice | Boolean | | [optional] | +| value | List | | [optional] | + +#### StepFieldBoolean +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | Boolean | | [optional] | +| userChoice | Boolean | | [optional] | + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/ComposeStepState.md b/pe/docs/ComposeStepState.md new file mode 100644 index 00000000..a53af53d --- /dev/null +++ b/pe/docs/ComposeStepState.md @@ -0,0 +1,47 @@ + +# ComposeStepState + +`org.thingsboard.client.model.ComposeStepState` + +**Extends:** **AgentAppStepState** + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **serviceImageRegexPatterns** | **StepFieldListString** | | [optional] | +| **pullImages** | **StepFieldBoolean** | | [optional] | + + + +## Referenced Types + +#### AgentAppStepState +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| type | AgentAppStepType | | [optional] | + +#### StepFieldListString +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| userChoice | Boolean | | [optional] | +| value | List | | [optional] | + +#### StepFieldBoolean +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | Boolean | | [optional] | +| userChoice | Boolean | | [optional] | + +#### AgentAppStepType (enum) +`COMPOSE_TEMPLATE` | `COMPOSE` | `COMPOSE_START` | `COMPOSE_DOWN` | `ROLLBACK` | `BACKUP_VOLUME` | `BACKUP_VOLUME_REMOVE` | `COMPOSE_RESTART` | `RUN_JOB` | `AGENT_PREPARE` | … (11 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/ComposeTypeChoiceStep.md b/pe/docs/ComposeTypeChoiceStep.md new file mode 100644 index 00000000..6b6ae603 --- /dev/null +++ b/pe/docs/ComposeTypeChoiceStep.md @@ -0,0 +1,40 @@ + +# ComposeTypeChoiceStep + +`org.thingsboard.client.model.ComposeTypeChoiceStep` + +**Extends:** **AgentAppStep** + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **composeTemplates** | **Map\** | | [optional] | + + + +## Referenced Types + +#### AgentAppStep +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| id | UUID | | [optional] | +| nextId | UUID | | [optional] | +| title | String | | [optional] | +| templateOnly | Boolean | | [optional] | +| condition | String | | [optional] | +| stateful | Boolean | | [optional] | +| type | AgentAppStepType | | [optional] | + +#### AgentAppStepType (enum) +`COMPOSE_TEMPLATE` | `COMPOSE` | `COMPOSE_START` | `COMPOSE_DOWN` | `ROLLBACK` | `BACKUP_VOLUME` | `BACKUP_VOLUME_REMOVE` | `COMPOSE_RESTART` | `RUN_JOB` | `AGENT_PREPARE` | … (11 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/Converter.md b/pe/docs/Converter.md index 3c9af4fe..1025209b 100644 --- a/pe/docs/Converter.md +++ b/pe/docs/Converter.md @@ -25,7 +25,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### ConverterType (enum) `UPLINK` | `DOWNLINK` @@ -41,7 +41,7 @@ | allEnabledUntil | Long | Timestamp of the end time for the processing debug events. | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/ConverterExportData.md b/pe/docs/ConverterExportData.md index f1486cc5..6ce66b00 100644 --- a/pe/docs/ConverterExportData.md +++ b/pe/docs/ConverterExportData.md @@ -14,7 +14,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityExportData | Name | Type | Description | Notes | @@ -71,10 +71,10 @@ | debugMode | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### RelationTypeGroup (enum) -`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` +`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` | `AGENT` #### CalculatedFieldType (enum) `SIMPLE` | `SCRIPT` | `GEOFENCING` | `ALARM` | `PROPAGATION` | `RELATED_ENTITIES_AGGREGATION` | `ENTITY_AGGREGATION` diff --git a/pe/docs/ConverterId.md b/pe/docs/ConverterId.md index 9ccc25df..046e2e96 100644 --- a/pe/docs/ConverterId.md +++ b/pe/docs/ConverterId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/CsvReportTemplateConfig.md b/pe/docs/CsvReportTemplateConfig.md index 8520d669..f4d4f155 100644 --- a/pe/docs/CsvReportTemplateConfig.md +++ b/pe/docs/CsvReportTemplateConfig.md @@ -14,7 +14,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### ReportTemplateConfig | Name | Type | Description | Notes | @@ -614,7 +614,7 @@ | id | UUID | ID of the entity, time-based UUID v1 | | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### EntitySearchDirection (enum) `FROM` | `TO` diff --git a/pe/docs/CustomMenu.md b/pe/docs/CustomMenu.md index 8258f331..7fd9001d 100644 --- a/pe/docs/CustomMenu.md +++ b/pe/docs/CustomMenu.md @@ -21,7 +21,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### CustomMenuId | Name | Type | Description | Notes | @@ -80,7 +80,7 @@ | hideDashboardToolbar | Boolean | Hide the dashboard toolbar | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### MenuItemType (enum) `HOME` | `DEFAULT` | `CUSTOM` diff --git a/pe/docs/CustomMenuDeleteResult.md b/pe/docs/CustomMenuDeleteResult.md index 21512cd5..ab8255a4 100644 --- a/pe/docs/CustomMenuDeleteResult.md +++ b/pe/docs/CustomMenuDeleteResult.md @@ -15,7 +15,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### CMAssigneeType (enum) `NO_ASSIGN` | `ALL` | `CUSTOMERS` | `USERS` | `USER_GROUPS` @@ -27,7 +27,7 @@ | name | String | Entity Name | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/CustomMenuInfo.md b/pe/docs/CustomMenuInfo.md index 5715b9f3..68e3cd71 100644 --- a/pe/docs/CustomMenuInfo.md +++ b/pe/docs/CustomMenuInfo.md @@ -22,7 +22,7 @@ A JSON value representing the custom menu basic info fields ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### CustomMenuId | Name | Type | Description | Notes | @@ -36,7 +36,7 @@ A JSON value representing the custom menu basic info fields `NO_ASSIGN` | `ALL` | `CUSTOMERS` | `USERS` | `USER_GROUPS` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/Customer.md b/pe/docs/Customer.md index ad40aa7b..d0a2bf3c 100644 --- a/pe/docs/Customer.md +++ b/pe/docs/Customer.md @@ -31,7 +31,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### CustomMenuId | Name | Type | Description | Notes | @@ -39,7 +39,7 @@ | id | UUID | string | | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/CustomerExportData.md b/pe/docs/CustomerExportData.md index 5e469972..f99b4637 100644 --- a/pe/docs/CustomerExportData.md +++ b/pe/docs/CustomerExportData.md @@ -14,7 +14,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityExportData | Name | Type | Description | Notes | @@ -71,10 +71,10 @@ | debugMode | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### RelationTypeGroup (enum) -`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` +`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` | `AGENT` #### CalculatedFieldType (enum) `SIMPLE` | `SCRIPT` | `GEOFENCING` | `ALARM` | `PROPAGATION` | `RELATED_ENTITIES_AGGREGATION` | `ENTITY_AGGREGATION` diff --git a/pe/docs/CustomerId.md b/pe/docs/CustomerId.md index 5ccb1de0..3e9aa2ff 100644 --- a/pe/docs/CustomerId.md +++ b/pe/docs/CustomerId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/CustomerInfo.md b/pe/docs/CustomerInfo.md index b1db65cc..7211ea66 100644 --- a/pe/docs/CustomerInfo.md +++ b/pe/docs/CustomerInfo.md @@ -33,7 +33,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### CustomMenuId | Name | Type | Description | Notes | @@ -47,7 +47,7 @@ | name | String | Entity Name | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/Dashboard.md b/pe/docs/Dashboard.md index 840d9269..4e9a9989 100644 --- a/pe/docs/Dashboard.md +++ b/pe/docs/Dashboard.md @@ -26,7 +26,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### ShortCustomerInfo | Name | Type | Description | Notes | @@ -51,7 +51,7 @@ | _public | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### ResourceType (enum) `LWM2_M_MODEL` | `JKS` | `PKCS_12` | `JS_MODULE` | `IMAGE` | `DASHBOARD` | `GENERAL` diff --git a/pe/docs/DashboardComponent.md b/pe/docs/DashboardComponent.md index 4738eb6f..eb25099b 100644 --- a/pe/docs/DashboardComponent.md +++ b/pe/docs/DashboardComponent.md @@ -25,7 +25,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### ReportComponent | Name | Type | Description | Notes | @@ -236,7 +236,7 @@ | color | String | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### IntervalType (enum) `MILLISECONDS` | `WEEK` | `WEEK_ISO` | `MONTH` | `QUARTER` diff --git a/pe/docs/DashboardExportData.md b/pe/docs/DashboardExportData.md index 55c5e7f8..77c6395f 100644 --- a/pe/docs/DashboardExportData.md +++ b/pe/docs/DashboardExportData.md @@ -14,7 +14,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityExportData | Name | Type | Description | Notes | @@ -71,10 +71,10 @@ | debugMode | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### RelationTypeGroup (enum) -`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` +`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` | `AGENT` #### CalculatedFieldType (enum) `SIMPLE` | `SCRIPT` | `GEOFENCING` | `ALARM` | `PROPAGATION` | `RELATED_ENTITIES_AGGREGATION` | `ENTITY_AGGREGATION` diff --git a/pe/docs/DashboardId.md b/pe/docs/DashboardId.md index aabb1e9c..27e8300b 100644 --- a/pe/docs/DashboardId.md +++ b/pe/docs/DashboardId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/DashboardInfo.md b/pe/docs/DashboardInfo.md index c03ae226..3f8d0dce 100644 --- a/pe/docs/DashboardInfo.md +++ b/pe/docs/DashboardInfo.md @@ -28,7 +28,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### ShortCustomerInfo | Name | Type | Description | Notes | @@ -59,7 +59,7 @@ | name | String | Entity Name | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### ResourceType (enum) `LWM2_M_MODEL` | `JKS` | `PKCS_12` | `JS_MODULE` | `IMAGE` | `DASHBOARD` | `GENERAL` diff --git a/pe/docs/DataSource.md b/pe/docs/DataSource.md index 16bc0f30..8198a9c8 100644 --- a/pe/docs/DataSource.md +++ b/pe/docs/DataSource.md @@ -19,7 +19,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### DataSourceType (enum) `DEVICE` | `ENTITY` | `ENTITY_COUNT` | `ALARM_COUNT` @@ -179,7 +179,7 @@ | color | String | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### IntervalType (enum) `MILLISECONDS` | `WEEK` | `WEEK_ISO` | `MONTH` | `QUARTER` diff --git a/pe/docs/DefaultTenantProfileConfiguration.md b/pe/docs/DefaultTenantProfileConfiguration.md index 6fee9a73..5cd1bcd3 100644 --- a/pe/docs/DefaultTenantProfileConfiguration.md +++ b/pe/docs/DefaultTenantProfileConfiguration.md @@ -76,6 +76,10 @@ | **edgeEventRateLimitsPerEdge** | **String** | | [optional] | | **edgeUplinkMessagesRateLimits** | **String** | | [optional] | | **edgeUplinkMessagesRateLimitsPerEdge** | **String** | | [optional] | +| **agentEventRateLimits** | **String** | | [optional] | +| **agentEventRateLimitsPerAgent** | **String** | | [optional] | +| **agentLogChunkRateLimits** | **String** | | [optional] | +| **agentLogChunkRateLimitsPerAgent** | **String** | | [optional] | | **defaultStorageTtlDays** | **Integer** | | [optional] | | **alarmsTtlDays** | **Integer** | | [optional] | | **rpcTtlDays** | **Integer** | | [optional] | diff --git a/pe/docs/Device.md b/pe/docs/Device.md index d692703b..e6071f7a 100644 --- a/pe/docs/Device.md +++ b/pe/docs/Device.md @@ -26,7 +26,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### DeviceData | Name | Type | Description | Notes | @@ -86,7 +86,7 @@ | engineId | String | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### DeviceProfileType (enum) `DEFAULT` diff --git a/pe/docs/DeviceCredentials.md b/pe/docs/DeviceCredentials.md index 696ee68b..015279b7 100644 --- a/pe/docs/DeviceCredentials.md +++ b/pe/docs/DeviceCredentials.md @@ -21,7 +21,7 @@ A JSON value representing the device credentials. ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### DeviceCredentialsId | Name | Type | Description | Notes | @@ -32,7 +32,7 @@ A JSON value representing the device credentials. `ACCESS_TOKEN` | `X509_CERTIFICATE` | `MQTT_BASIC` | `LWM2_M_CREDENTIALS` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/DeviceExportData.md b/pe/docs/DeviceExportData.md index 0bede01b..cafac02e 100644 --- a/pe/docs/DeviceExportData.md +++ b/pe/docs/DeviceExportData.md @@ -15,7 +15,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityExportData | Name | Type | Description | Notes | @@ -83,7 +83,7 @@ | debugMode | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### DeviceCredentialsId | Name | Type | Description | Notes | @@ -94,7 +94,7 @@ `ACCESS_TOKEN` | `X509_CERTIFICATE` | `MQTT_BASIC` | `LWM2_M_CREDENTIALS` #### RelationTypeGroup (enum) -`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` +`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` | `AGENT` #### CalculatedFieldType (enum) `SIMPLE` | `SCRIPT` | `GEOFENCING` | `ALARM` | `PROPAGATION` | `RELATED_ENTITIES_AGGREGATION` | `ENTITY_AGGREGATION` diff --git a/pe/docs/DeviceGroupOtaPackage.md b/pe/docs/DeviceGroupOtaPackage.md index 1e2e270d..a4fcf0de 100644 --- a/pe/docs/DeviceGroupOtaPackage.md +++ b/pe/docs/DeviceGroupOtaPackage.md @@ -17,13 +17,13 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### OtaPackageType (enum) `FIRMWARE` | `SOFTWARE` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/DeviceId.md b/pe/docs/DeviceId.md index 31c354a0..8b587530 100644 --- a/pe/docs/DeviceId.md +++ b/pe/docs/DeviceId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/DeviceInfo.md b/pe/docs/DeviceInfo.md index f2d3c342..f0efccdf 100644 --- a/pe/docs/DeviceInfo.md +++ b/pe/docs/DeviceInfo.md @@ -29,7 +29,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### DeviceData | Name | Type | Description | Notes | @@ -95,7 +95,7 @@ | engineId | String | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### DeviceProfileType (enum) `DEFAULT` diff --git a/pe/docs/DeviceProfile.md b/pe/docs/DeviceProfile.md index f3614b71..405bdf65 100644 --- a/pe/docs/DeviceProfile.md +++ b/pe/docs/DeviceProfile.md @@ -33,7 +33,7 @@ A JSON value representing the device profile. ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### DeviceProfileType (enum) `DEFAULT` @@ -121,7 +121,7 @@ A JSON value representing the device profile. | allowCreateNewDevicesByX509Certificate | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### TransportPayloadTypeConfiguration | Name | Type | Description | Notes | diff --git a/pe/docs/DeviceProfileExportData.md b/pe/docs/DeviceProfileExportData.md index 46979306..e3c6c1f8 100644 --- a/pe/docs/DeviceProfileExportData.md +++ b/pe/docs/DeviceProfileExportData.md @@ -14,7 +14,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityExportData | Name | Type | Description | Notes | @@ -71,10 +71,10 @@ | debugMode | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### RelationTypeGroup (enum) -`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` +`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` | `AGENT` #### CalculatedFieldType (enum) `SIMPLE` | `SCRIPT` | `GEOFENCING` | `ALARM` | `PROPAGATION` | `RELATED_ENTITIES_AGGREGATION` | `ENTITY_AGGREGATION` diff --git a/pe/docs/DeviceProfileId.md b/pe/docs/DeviceProfileId.md index 305d5b8b..3d98fe55 100644 --- a/pe/docs/DeviceProfileId.md +++ b/pe/docs/DeviceProfileId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/DeviceProfileInfo.md b/pe/docs/DeviceProfileInfo.md index 17b06d3b..3bc1890f 100644 --- a/pe/docs/DeviceProfileInfo.md +++ b/pe/docs/DeviceProfileInfo.md @@ -19,7 +19,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### DeviceProfileType (enum) `DEFAULT` @@ -28,7 +28,7 @@ `DEFAULT` | `MQTT` | `COAP` | `LWM2_M` | `SNMP` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/DeviceSearchQuery.md b/pe/docs/DeviceSearchQuery.md index 33376a86..cf8173c6 100644 --- a/pe/docs/DeviceSearchQuery.md +++ b/pe/docs/DeviceSearchQuery.md @@ -28,13 +28,13 @@ The device search query JSON | fetchLastLevelOnly | Boolean | Fetch entities that match the last level of search. Useful to find Devices that are strictly 'maxLevel' relations away from the root entity. | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### EntitySearchDirection (enum) `FROM` | `TO` #### RelationTypeGroup (enum) -`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` +`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` | `AGENT` --- diff --git a/pe/docs/DeviceSearchQueryFilter.md b/pe/docs/DeviceSearchQueryFilter.md index 986f4fe3..dbd40394 100644 --- a/pe/docs/DeviceSearchQueryFilter.md +++ b/pe/docs/DeviceSearchQueryFilter.md @@ -41,7 +41,7 @@ `CURRENT_CUSTOMER` | `CURRENT_TENANT` | `CURRENT_USER` | `CURRENT_USER_OWNER` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/DockerComposeConfig.md b/pe/docs/DockerComposeConfig.md new file mode 100644 index 00000000..c362b43f --- /dev/null +++ b/pe/docs/DockerComposeConfig.md @@ -0,0 +1,66 @@ + +# DockerComposeConfig + +`org.thingsboard.client.model.DockerComposeConfig` + +**Extends:** **AgentAppConfig** + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **compose** | **com.fasterxml.jackson.databind.JsonNode** | | [optional] | +| **composeType** | **String** | | [optional] | + + + +## Referenced Types + +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. + +#### AgentAppConfig +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| arguments | List | | [optional] | +| edgeRoutingKey | String | | [optional] | +| type | AgentAppConfigType | | [optional] | + +#### AgentAppArgument +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| name | String | Argument name, referenced in the compose as ${tb.}. | [optional] | +| sourceType | AgentAppArgumentSource | Source entity the value is resolved from. | [optional] | +| sourceEntityId | EntityId | Concrete source entity id. Required when sourceType references a specific entity (DEVICE, ASSET, CUSTOMER, EDGE); ignored for the context-derived sources. | [optional] | +| valueType | AgentAppArgumentValueType | Whether the value is read from an attribute or the latest telemetry. | [optional] | +| scope | AttributeScope | Attribute scope. Applicable only when valueType is ATTRIBUTE. Defaults to SERVER_SCOPE. | [optional] | +| key | String | Attribute or latest telemetry key to read. | [optional] | +| defaultValue | String | Optional fallback value used when the source has no value for the key. | [optional] | +| format | AgentAppArgumentFormat | How the resolved value is injected into the compose: STRING (quoted) or JSON (raw, for arrays/objects/numbers when the placeholder is the whole value). Defaults to STRING. | [optional] | + +#### AgentAppConfigType (enum) +`DOCKER_COMPOSE` + +#### AgentAppArgumentSource (enum) +`AGENT` | `OWNER` | `RELATED_ENTITY` | `TENANT` | `DEVICE` | `ASSET` | `CUSTOMER` | `EDGE` + +#### AgentAppArgumentValueType (enum) +`ATTRIBUTE` | `LATEST_TELEMETRY` + +#### AttributeScope (enum) +`CLIENT_SCOPE` | `SERVER_SCOPE` | `SHARED_SCOPE` + +#### AgentAppArgumentFormat (enum) +`STRING` | `JSON` + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/Domain.md b/pe/docs/Domain.md index 65d33eb1..0d4b04e3 100644 --- a/pe/docs/Domain.md +++ b/pe/docs/Domain.md @@ -22,10 +22,10 @@ A JSON value representing the Domain. ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/DomainId.md b/pe/docs/DomainId.md index 2f30c35c..799c3010 100644 --- a/pe/docs/DomainId.md +++ b/pe/docs/DomainId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/DomainInfo.md b/pe/docs/DomainInfo.md index 7351a94e..6f91b0cb 100644 --- a/pe/docs/DomainInfo.md +++ b/pe/docs/DomainInfo.md @@ -21,7 +21,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### OAuth2ClientInfo | Name | Type | Description | Notes | @@ -37,7 +37,7 @@ `WEB` | `ANDROID` | `IOS` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/DummyJobConfiguration.md b/pe/docs/DummyJobConfiguration.md index 6f6a7e92..d4f8bfb2 100644 --- a/pe/docs/DummyJobConfiguration.md +++ b/pe/docs/DummyJobConfiguration.md @@ -25,7 +25,7 @@ Dummy job configuration ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### JobConfiguration | Name | Type | Description | Notes | @@ -97,7 +97,7 @@ Dummy job configuration `PDF` | `CSV` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/DummyJobResult.md b/pe/docs/DummyJobResult.md index 23b52de9..be26e938 100644 --- a/pe/docs/DummyJobResult.md +++ b/pe/docs/DummyJobResult.md @@ -14,7 +14,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### JobResult | Name | Type | Description | Notes | @@ -93,7 +93,7 @@ `PDF` | `CSV` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/Edge.md b/pe/docs/Edge.md index 1289a096..c80b10dc 100644 --- a/pe/docs/Edge.md +++ b/pe/docs/Edge.md @@ -29,10 +29,10 @@ A JSON value representing the edge. ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/EdgeControllerApi.md b/pe/docs/EdgeControllerApi.md index 934d2427..f8ff8f09 100644 --- a/pe/docs/EdgeControllerApi.md +++ b/pe/docs/EdgeControllerApi.md @@ -572,7 +572,7 @@ BulkImportResultEdge processEdgesBulkImport(@Nonnull BulkImportRequest bulkImpor Import the bulk of edges (processEdgesBulkImport) -There's an ability to import the bulk of edges using the only .csv file. Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. +There's an ability to import the bulk of edges using the only .csv file. Available for users with 'TENANT_ADMIN' authority. ### Parameters diff --git a/pe/docs/EdgeEvent.md b/pe/docs/EdgeEvent.md index dc5df291..49dd4d5b 100644 --- a/pe/docs/EdgeEvent.md +++ b/pe/docs/EdgeEvent.md @@ -23,7 +23,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EdgeEventId | Name | Type | Description | Notes | @@ -37,7 +37,7 @@ `DASHBOARD` | `ASSET` | `DEVICE` | `DEVICE_PROFILE` | `ASSET_PROFILE` | `ENTITY_VIEW` | `ALARM` | `ALARM_COMMENT` | `RULE_CHAIN` | `RULE_CHAIN_METADATA` | … (45 values total) #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/EdgeId.md b/pe/docs/EdgeId.md index f3f542e1..1cf2f8b9 100644 --- a/pe/docs/EdgeId.md +++ b/pe/docs/EdgeId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/EdgeInfo.md b/pe/docs/EdgeInfo.md index c99182dc..c4ba7749 100644 --- a/pe/docs/EdgeInfo.md +++ b/pe/docs/EdgeInfo.md @@ -29,7 +29,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityInfo | Name | Type | Description | Notes | @@ -38,7 +38,7 @@ | name | String | Entity Name | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/EdgeSearchQuery.md b/pe/docs/EdgeSearchQuery.md index 115fd433..c9e4a95d 100644 --- a/pe/docs/EdgeSearchQuery.md +++ b/pe/docs/EdgeSearchQuery.md @@ -26,13 +26,13 @@ | fetchLastLevelOnly | Boolean | Fetch entities that match the last level of search. Useful to find Devices that are strictly 'maxLevel' relations away from the root entity. | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### EntitySearchDirection (enum) `FROM` | `TO` #### RelationTypeGroup (enum) -`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` +`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` | `AGENT` --- diff --git a/pe/docs/EdgeSearchQueryFilter.md b/pe/docs/EdgeSearchQueryFilter.md index 7b2decd6..5c00cc3a 100644 --- a/pe/docs/EdgeSearchQueryFilter.md +++ b/pe/docs/EdgeSearchQueryFilter.md @@ -41,7 +41,7 @@ `CURRENT_CUSTOMER` | `CURRENT_TENANT` | `CURRENT_USER` | `CURRENT_USER_OWNER` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/EntitiesByGroupNameFilter.md b/pe/docs/EntitiesByGroupNameFilter.md index a2b1ed4a..9475bc3b 100644 --- a/pe/docs/EntitiesByGroupNameFilter.md +++ b/pe/docs/EntitiesByGroupNameFilter.md @@ -19,7 +19,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityFilter | Name | Type | Description | Notes | @@ -27,7 +27,7 @@ | type | String | | | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/EntitiesLimitNotificationRuleTriggerConfig.md b/pe/docs/EntitiesLimitNotificationRuleTriggerConfig.md index e46b1e11..a9b70751 100644 --- a/pe/docs/EntitiesLimitNotificationRuleTriggerConfig.md +++ b/pe/docs/EntitiesLimitNotificationRuleTriggerConfig.md @@ -22,7 +22,7 @@ | triggerType | NotificationRuleTriggerType | | | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### NotificationRuleTriggerType (enum) `ENTITY_ACTION` | `ALARM` | `ALARM_COMMENT` | `ALARM_ASSIGNMENT` | `DEVICE_ACTIVITY` | `RULE_ENGINE_COMPONENT_LIFECYCLE_EVENT` | `INTEGRATION_LIFECYCLE_EVENT` | `EDGE_CONNECTION` | `EDGE_COMMUNICATION_FAILURE` | `NEW_PLATFORM_VERSION` | … (15 values total) diff --git a/pe/docs/EntitiesVersionControlControllerApi.md b/pe/docs/EntitiesVersionControlControllerApi.md index 373c5fb2..fd955d7b 100644 --- a/pe/docs/EntitiesVersionControlControllerApi.md +++ b/pe/docs/EntitiesVersionControlControllerApi.md @@ -35,7 +35,7 @@ Returns an object with current entity data and the one at a specific version. En | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **entityType** | **EntityType** | A string value representing the entity type. For example, 'DEVICE' | [enum: TENANT, CUSTOMER, USER, DASHBOARD, ASSET, DEVICE, ALARM, ENTITY_GROUP, CONVERTER, INTEGRATION, RULE_CHAIN, RULE_NODE, SCHEDULER_EVENT, BLOB_ENTITY, REPORT_TEMPLATE, REPORT, ENTITY_VIEW, WIDGETS_BUNDLE, WIDGET_TYPE, ROLE, GROUP_PERMISSION, TENANT_PROFILE, DEVICE_PROFILE, ASSET_PROFILE, API_USAGE_STATE, TB_RESOURCE, OTA_PACKAGE, EDGE, RPC, QUEUE, NOTIFICATION_TARGET, NOTIFICATION_TEMPLATE, NOTIFICATION_REQUEST, NOTIFICATION, NOTIFICATION_RULE, QUEUE_STATS, OAUTH2_CLIENT, DOMAIN, MOBILE_APP, MOBILE_APP_BUNDLE, CALCULATED_FIELD, JOB, SECRET, ADMIN_SETTINGS, AI_MODEL, API_KEY] | +| **entityType** | **EntityType** | A string value representing the entity type. For example, 'DEVICE' | [enum: TENANT, CUSTOMER, USER, DASHBOARD, ASSET, DEVICE, ALARM, ENTITY_GROUP, CONVERTER, INTEGRATION, RULE_CHAIN, RULE_NODE, SCHEDULER_EVENT, BLOB_ENTITY, REPORT_TEMPLATE, REPORT, ENTITY_VIEW, WIDGETS_BUNDLE, WIDGET_TYPE, ROLE, GROUP_PERMISSION, TENANT_PROFILE, DEVICE_PROFILE, ASSET_PROFILE, API_USAGE_STATE, TB_RESOURCE, OTA_PACKAGE, EDGE, RPC, QUEUE, NOTIFICATION_TARGET, NOTIFICATION_TEMPLATE, NOTIFICATION_REQUEST, NOTIFICATION, NOTIFICATION_RULE, QUEUE_STATS, OAUTH2_CLIENT, DOMAIN, MOBILE_APP, MOBILE_APP_BUNDLE, CALCULATED_FIELD, JOB, SECRET, ADMIN_SETTINGS, AI_MODEL, API_KEY, AGENT, AGENT_APPLICATION, AGENT_APP_EVENT, AGENT_APP_UNIT, AGENT_APP_PROFILE, AGENT_PROFILE, AGENT_BULK_ACTION] | | **internalEntityUuid** | **UUID** | A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' | | | **versionId** | **String** | Version id, for example fd82625bdd7d6131cf8027b44ee967012ecaf990. Represents commit hash. | | @@ -62,7 +62,7 @@ Retrieves short info about the remote entity by external id at a concrete versio | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| | **versionId** | **String** | Version id, for example fd82625bdd7d6131cf8027b44ee967012ecaf990. Represents commit hash. | | -| **entityType** | **EntityType** | A string value representing the entity type. For example, 'DEVICE' | [enum: TENANT, CUSTOMER, USER, DASHBOARD, ASSET, DEVICE, ALARM, ENTITY_GROUP, CONVERTER, INTEGRATION, RULE_CHAIN, RULE_NODE, SCHEDULER_EVENT, BLOB_ENTITY, REPORT_TEMPLATE, REPORT, ENTITY_VIEW, WIDGETS_BUNDLE, WIDGET_TYPE, ROLE, GROUP_PERMISSION, TENANT_PROFILE, DEVICE_PROFILE, ASSET_PROFILE, API_USAGE_STATE, TB_RESOURCE, OTA_PACKAGE, EDGE, RPC, QUEUE, NOTIFICATION_TARGET, NOTIFICATION_TEMPLATE, NOTIFICATION_REQUEST, NOTIFICATION, NOTIFICATION_RULE, QUEUE_STATS, OAUTH2_CLIENT, DOMAIN, MOBILE_APP, MOBILE_APP_BUNDLE, CALCULATED_FIELD, JOB, SECRET, ADMIN_SETTINGS, AI_MODEL, API_KEY] | +| **entityType** | **EntityType** | A string value representing the entity type. For example, 'DEVICE' | [enum: TENANT, CUSTOMER, USER, DASHBOARD, ASSET, DEVICE, ALARM, ENTITY_GROUP, CONVERTER, INTEGRATION, RULE_CHAIN, RULE_NODE, SCHEDULER_EVENT, BLOB_ENTITY, REPORT_TEMPLATE, REPORT, ENTITY_VIEW, WIDGETS_BUNDLE, WIDGET_TYPE, ROLE, GROUP_PERMISSION, TENANT_PROFILE, DEVICE_PROFILE, ASSET_PROFILE, API_USAGE_STATE, TB_RESOURCE, OTA_PACKAGE, EDGE, RPC, QUEUE, NOTIFICATION_TARGET, NOTIFICATION_TEMPLATE, NOTIFICATION_REQUEST, NOTIFICATION, NOTIFICATION_RULE, QUEUE_STATS, OAUTH2_CLIENT, DOMAIN, MOBILE_APP, MOBILE_APP_BUNDLE, CALCULATED_FIELD, JOB, SECRET, ADMIN_SETTINGS, AI_MODEL, API_KEY, AGENT, AGENT_APPLICATION, AGENT_APP_EVENT, AGENT_APP_UNIT, AGENT_APP_PROFILE, AGENT_PROFILE, AGENT_BULK_ACTION] | | **externalEntityUuid** | **UUID** | A string value representing external entity id | | | **internalEntityId** | **UUID** | A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' | [optional] | @@ -177,7 +177,7 @@ Returns a list of remote entities of a specific entity type that are available a | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **entityType** | **EntityType** | A string value representing the entity type. For example, 'DEVICE' | [enum: TENANT, CUSTOMER, USER, DASHBOARD, ASSET, DEVICE, ALARM, ENTITY_GROUP, CONVERTER, INTEGRATION, RULE_CHAIN, RULE_NODE, SCHEDULER_EVENT, BLOB_ENTITY, REPORT_TEMPLATE, REPORT, ENTITY_VIEW, WIDGETS_BUNDLE, WIDGET_TYPE, ROLE, GROUP_PERMISSION, TENANT_PROFILE, DEVICE_PROFILE, ASSET_PROFILE, API_USAGE_STATE, TB_RESOURCE, OTA_PACKAGE, EDGE, RPC, QUEUE, NOTIFICATION_TARGET, NOTIFICATION_TEMPLATE, NOTIFICATION_REQUEST, NOTIFICATION, NOTIFICATION_RULE, QUEUE_STATS, OAUTH2_CLIENT, DOMAIN, MOBILE_APP, MOBILE_APP_BUNDLE, CALCULATED_FIELD, JOB, SECRET, ADMIN_SETTINGS, AI_MODEL, API_KEY] | +| **entityType** | **EntityType** | A string value representing the entity type. For example, 'DEVICE' | [enum: TENANT, CUSTOMER, USER, DASHBOARD, ASSET, DEVICE, ALARM, ENTITY_GROUP, CONVERTER, INTEGRATION, RULE_CHAIN, RULE_NODE, SCHEDULER_EVENT, BLOB_ENTITY, REPORT_TEMPLATE, REPORT, ENTITY_VIEW, WIDGETS_BUNDLE, WIDGET_TYPE, ROLE, GROUP_PERMISSION, TENANT_PROFILE, DEVICE_PROFILE, ASSET_PROFILE, API_USAGE_STATE, TB_RESOURCE, OTA_PACKAGE, EDGE, RPC, QUEUE, NOTIFICATION_TARGET, NOTIFICATION_TEMPLATE, NOTIFICATION_REQUEST, NOTIFICATION, NOTIFICATION_RULE, QUEUE_STATS, OAUTH2_CLIENT, DOMAIN, MOBILE_APP, MOBILE_APP_BUNDLE, CALCULATED_FIELD, JOB, SECRET, ADMIN_SETTINGS, AI_MODEL, API_KEY, AGENT, AGENT_APPLICATION, AGENT_APP_EVENT, AGENT_APP_UNIT, AGENT_APP_PROFILE, AGENT_PROFILE, AGENT_BULK_ACTION] | | **versionId** | **String** | Version id, for example fd82625bdd7d6131cf8027b44ee967012ecaf990. Represents commit hash. | | ### Return type @@ -202,7 +202,7 @@ Returns list of versions of an entity type in a branch. This is a collected list | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **entityType** | **EntityType** | A string value representing the entity type. For example, 'DEVICE' | [enum: TENANT, CUSTOMER, USER, DASHBOARD, ASSET, DEVICE, ALARM, ENTITY_GROUP, CONVERTER, INTEGRATION, RULE_CHAIN, RULE_NODE, SCHEDULER_EVENT, BLOB_ENTITY, REPORT_TEMPLATE, REPORT, ENTITY_VIEW, WIDGETS_BUNDLE, WIDGET_TYPE, ROLE, GROUP_PERMISSION, TENANT_PROFILE, DEVICE_PROFILE, ASSET_PROFILE, API_USAGE_STATE, TB_RESOURCE, OTA_PACKAGE, EDGE, RPC, QUEUE, NOTIFICATION_TARGET, NOTIFICATION_TEMPLATE, NOTIFICATION_REQUEST, NOTIFICATION, NOTIFICATION_RULE, QUEUE_STATS, OAUTH2_CLIENT, DOMAIN, MOBILE_APP, MOBILE_APP_BUNDLE, CALCULATED_FIELD, JOB, SECRET, ADMIN_SETTINGS, AI_MODEL, API_KEY] | +| **entityType** | **EntityType** | A string value representing the entity type. For example, 'DEVICE' | [enum: TENANT, CUSTOMER, USER, DASHBOARD, ASSET, DEVICE, ALARM, ENTITY_GROUP, CONVERTER, INTEGRATION, RULE_CHAIN, RULE_NODE, SCHEDULER_EVENT, BLOB_ENTITY, REPORT_TEMPLATE, REPORT, ENTITY_VIEW, WIDGETS_BUNDLE, WIDGET_TYPE, ROLE, GROUP_PERMISSION, TENANT_PROFILE, DEVICE_PROFILE, ASSET_PROFILE, API_USAGE_STATE, TB_RESOURCE, OTA_PACKAGE, EDGE, RPC, QUEUE, NOTIFICATION_TARGET, NOTIFICATION_TEMPLATE, NOTIFICATION_REQUEST, NOTIFICATION, NOTIFICATION_RULE, QUEUE_STATS, OAUTH2_CLIENT, DOMAIN, MOBILE_APP, MOBILE_APP_BUNDLE, CALCULATED_FIELD, JOB, SECRET, ADMIN_SETTINGS, AI_MODEL, API_KEY, AGENT, AGENT_APPLICATION, AGENT_APP_EVENT, AGENT_APP_UNIT, AGENT_APP_PROFILE, AGENT_PROFILE, AGENT_BULK_ACTION] | | **branch** | **String** | The name of the working branch, for example 'master' | | | **pageSize** | **Integer** | Maximum amount of entities in a one page | | | **page** | **Integer** | Sequence number of page starting from 0 | | @@ -232,7 +232,7 @@ Returns list of versions for a specific entity in a concrete branch. You need t | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **entityType** | **EntityType** | A string value representing the entity type. For example, 'DEVICE' | [enum: TENANT, CUSTOMER, USER, DASHBOARD, ASSET, DEVICE, ALARM, ENTITY_GROUP, CONVERTER, INTEGRATION, RULE_CHAIN, RULE_NODE, SCHEDULER_EVENT, BLOB_ENTITY, REPORT_TEMPLATE, REPORT, ENTITY_VIEW, WIDGETS_BUNDLE, WIDGET_TYPE, ROLE, GROUP_PERMISSION, TENANT_PROFILE, DEVICE_PROFILE, ASSET_PROFILE, API_USAGE_STATE, TB_RESOURCE, OTA_PACKAGE, EDGE, RPC, QUEUE, NOTIFICATION_TARGET, NOTIFICATION_TEMPLATE, NOTIFICATION_REQUEST, NOTIFICATION, NOTIFICATION_RULE, QUEUE_STATS, OAUTH2_CLIENT, DOMAIN, MOBILE_APP, MOBILE_APP_BUNDLE, CALCULATED_FIELD, JOB, SECRET, ADMIN_SETTINGS, AI_MODEL, API_KEY] | +| **entityType** | **EntityType** | A string value representing the entity type. For example, 'DEVICE' | [enum: TENANT, CUSTOMER, USER, DASHBOARD, ASSET, DEVICE, ALARM, ENTITY_GROUP, CONVERTER, INTEGRATION, RULE_CHAIN, RULE_NODE, SCHEDULER_EVENT, BLOB_ENTITY, REPORT_TEMPLATE, REPORT, ENTITY_VIEW, WIDGETS_BUNDLE, WIDGET_TYPE, ROLE, GROUP_PERMISSION, TENANT_PROFILE, DEVICE_PROFILE, ASSET_PROFILE, API_USAGE_STATE, TB_RESOURCE, OTA_PACKAGE, EDGE, RPC, QUEUE, NOTIFICATION_TARGET, NOTIFICATION_TEMPLATE, NOTIFICATION_REQUEST, NOTIFICATION, NOTIFICATION_RULE, QUEUE_STATS, OAUTH2_CLIENT, DOMAIN, MOBILE_APP, MOBILE_APP_BUNDLE, CALCULATED_FIELD, JOB, SECRET, ADMIN_SETTINGS, AI_MODEL, API_KEY, AGENT, AGENT_APPLICATION, AGENT_APP_EVENT, AGENT_APP_UNIT, AGENT_APP_PROFILE, AGENT_PROFILE, AGENT_BULK_ACTION] | | **externalEntityUuid** | **UUID** | A string value representing external entity id. This is `externalId` property of an entity, or otherwise if not set - simply id of this entity. | | | **branch** | **String** | The name of the working branch, for example 'master' | | | **pageSize** | **Integer** | Maximum amount of entities in a one page | | diff --git a/pe/docs/EntityActionNotificationRuleTriggerConfig.md b/pe/docs/EntityActionNotificationRuleTriggerConfig.md index 61245972..9ff3e5a5 100644 --- a/pe/docs/EntityActionNotificationRuleTriggerConfig.md +++ b/pe/docs/EntityActionNotificationRuleTriggerConfig.md @@ -24,7 +24,7 @@ | triggerType | NotificationRuleTriggerType | | | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### NotificationRuleTriggerType (enum) `ENTITY_ACTION` | `ALARM` | `ALARM_COMMENT` | `ALARM_ASSIGNMENT` | `DEVICE_ACTIVITY` | `RULE_ENGINE_COMPONENT_LIFECYCLE_EVENT` | `INTEGRATION_LIFECYCLE_EVENT` | `EDGE_CONNECTION` | `EDGE_COMMUNICATION_FAILURE` | `NEW_PLATFORM_VERSION` | … (15 values total) diff --git a/pe/docs/EntityAggregationCalculatedFieldConfiguration.md b/pe/docs/EntityAggregationCalculatedFieldConfiguration.md index dce137e5..2fbe1157 100644 --- a/pe/docs/EntityAggregationCalculatedFieldConfiguration.md +++ b/pe/docs/EntityAggregationCalculatedFieldConfiguration.md @@ -19,7 +19,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### CalculatedFieldConfiguration | Name | Type | Description | Notes | @@ -165,7 +165,7 @@ `CLIENT_SCOPE` | `SERVER_SCOPE` | `SHARED_SCOPE` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### ArgumentType (enum) `TS_LATEST` | `ATTRIBUTE` | `TS_ROLLING` diff --git a/pe/docs/EntityAlias.md b/pe/docs/EntityAlias.md index 7d624cd4..c6877c0f 100644 --- a/pe/docs/EntityAlias.md +++ b/pe/docs/EntityAlias.md @@ -15,7 +15,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityFilter | Name | Type | Description | Notes | @@ -197,7 +197,7 @@ | id | UUID | ID of the entity, time-based UUID v1 | | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### EntitySearchDirection (enum) `FROM` | `TO` diff --git a/pe/docs/EntityCountQuery.md b/pe/docs/EntityCountQuery.md index 7bf63fae..2fe9c5f3 100644 --- a/pe/docs/EntityCountQuery.md +++ b/pe/docs/EntityCountQuery.md @@ -18,7 +18,7 @@ A JSON value representing the entity count query. See API call notes above for m ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityFilter | Name | Type | Description | Notes | @@ -249,7 +249,7 @@ A JSON value representing the entity count query. See API call notes above for m | id | UUID | ID of the entity, time-based UUID v1 | | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### EntitySearchDirection (enum) `FROM` | `TO` diff --git a/pe/docs/EntityData.md b/pe/docs/EntityData.md index 3cb7946a..58386f9f 100644 --- a/pe/docs/EntityData.md +++ b/pe/docs/EntityData.md @@ -18,7 +18,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### TsValue | Name | Type | Description | Notes | @@ -34,7 +34,7 @@ | previous | TsValue | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/EntityDataDiff.md b/pe/docs/EntityDataDiff.md index 4aac4674..a6bc2fa3 100644 --- a/pe/docs/EntityDataDiff.md +++ b/pe/docs/EntityDataDiff.md @@ -14,7 +14,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityExportData | Name | Type | Description | Notes | @@ -152,10 +152,10 @@ | debugMode | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### RelationTypeGroup (enum) -`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` +`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` | `AGENT` #### CalculatedFieldType (enum) `SIMPLE` | `SCRIPT` | `GEOFENCING` | `ALARM` | `PROPAGATION` | `RELATED_ENTITIES_AGGREGATION` | `ENTITY_AGGREGATION` diff --git a/pe/docs/EntityDataQuery.md b/pe/docs/EntityDataQuery.md index 951f0940..6f9ec467 100644 --- a/pe/docs/EntityDataQuery.md +++ b/pe/docs/EntityDataQuery.md @@ -21,7 +21,7 @@ Entity data query to find entities. Page size is capped at 100. ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityFilter | Name | Type | Description | Notes | @@ -270,7 +270,7 @@ Entity data query to find entities. Page size is capped at 100. | id | UUID | ID of the entity, time-based UUID v1 | | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### EntitySearchDirection (enum) `FROM` | `TO` diff --git a/pe/docs/EntityExportData.md b/pe/docs/EntityExportData.md index 945a67c3..49121788 100644 --- a/pe/docs/EntityExportData.md +++ b/pe/docs/EntityExportData.md @@ -102,7 +102,7 @@ Base export container for ThingsBoard entities ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### ExportableEntity | Name | Type | Description | Notes | @@ -150,7 +150,7 @@ Base export container for ThingsBoard entities | debugMode | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### DeviceCredentials | Name | Type | Description | Notes | @@ -198,7 +198,7 @@ Base export container for ThingsBoard entities | notes | List | List of sticky notes placed on the rule chain canvas | [optional] | #### RelationTypeGroup (enum) -`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` +`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` | `AGENT` #### CalculatedFieldType (enum) `SIMPLE` | `SCRIPT` | `GEOFENCING` | `ALARM` | `PROPAGATION` | `RELATED_ENTITIES_AGGREGATION` | `ENTITY_AGGREGATION` diff --git a/pe/docs/EntityFilter.md b/pe/docs/EntityFilter.md index c1a845d6..0c2d47ee 100644 --- a/pe/docs/EntityFilter.md +++ b/pe/docs/EntityFilter.md @@ -184,7 +184,7 @@ Filter for selecting entities ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### AliasEntityId | Name | Type | Description | Notes | @@ -197,7 +197,7 @@ Filter for selecting entities `FROM` | `TO` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### RelationEntityTypeFilter | Name | Type | Description | Notes | diff --git a/pe/docs/EntityGroup.md b/pe/docs/EntityGroup.md index 07c13e31..a5f48046 100644 --- a/pe/docs/EntityGroup.md +++ b/pe/docs/EntityGroup.md @@ -72,15 +72,22 @@ A JSON value representing the entity group. | ADMIN_SETTINGS | "ADMIN_SETTINGS" | | AI_MODEL | "AI_MODEL" | | API_KEY | "API_KEY" | +| AGENT | "AGENT" | +| AGENT_APPLICATION | "AGENT_APPLICATION" | +| AGENT_APP_EVENT | "AGENT_APP_EVENT" | +| AGENT_APP_UNIT | "AGENT_APP_UNIT" | +| AGENT_APP_PROFILE | "AGENT_APP_PROFILE" | +| AGENT_PROFILE | "AGENT_PROFILE" | +| AGENT_BULK_ACTION | "AGENT_BULK_ACTION" | ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/EntityGroupExportData.md b/pe/docs/EntityGroupExportData.md index 8d8ba6b6..df4c4360 100644 --- a/pe/docs/EntityGroupExportData.md +++ b/pe/docs/EntityGroupExportData.md @@ -18,7 +18,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityExportData | Name | Type | Description | Notes | @@ -98,13 +98,13 @@ | debugMode | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### OtaPackageType (enum) `FIRMWARE` | `SOFTWARE` #### RelationTypeGroup (enum) -`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` +`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` | `AGENT` #### CalculatedFieldType (enum) `SIMPLE` | `SCRIPT` | `GEOFENCING` | `ALARM` | `PROPAGATION` | `RELATED_ENTITIES_AGGREGATION` | `ENTITY_AGGREGATION` diff --git a/pe/docs/EntityGroupFilter.md b/pe/docs/EntityGroupFilter.md index b83b184b..a3024970 100644 --- a/pe/docs/EntityGroupFilter.md +++ b/pe/docs/EntityGroupFilter.md @@ -25,7 +25,7 @@ | type | String | | | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/EntityGroupId.md b/pe/docs/EntityGroupId.md index 72e075ed..e500fd7d 100644 --- a/pe/docs/EntityGroupId.md +++ b/pe/docs/EntityGroupId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/EntityGroupInfo.md b/pe/docs/EntityGroupInfo.md index 213b6f07..39e34bda 100644 --- a/pe/docs/EntityGroupInfo.md +++ b/pe/docs/EntityGroupInfo.md @@ -71,15 +71,22 @@ | ADMIN_SETTINGS | "ADMIN_SETTINGS" | | AI_MODEL | "AI_MODEL" | | API_KEY | "API_KEY" | +| AGENT | "AGENT" | +| AGENT_APPLICATION | "AGENT_APPLICATION" | +| AGENT_APP_EVENT | "AGENT_APP_EVENT" | +| AGENT_APP_UNIT | "AGENT_APP_UNIT" | +| AGENT_APP_PROFILE | "AGENT_APP_PROFILE" | +| AGENT_PROFILE | "AGENT_PROFILE" | +| AGENT_BULK_ACTION | "AGENT_BULK_ACTION" | ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/EntityGroupListFilter.md b/pe/docs/EntityGroupListFilter.md index c4406d1d..151cecf0 100644 --- a/pe/docs/EntityGroupListFilter.md +++ b/pe/docs/EntityGroupListFilter.md @@ -22,7 +22,7 @@ | type | String | | | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/EntityGroupNameFilter.md b/pe/docs/EntityGroupNameFilter.md index d94ff91f..5d647527 100644 --- a/pe/docs/EntityGroupNameFilter.md +++ b/pe/docs/EntityGroupNameFilter.md @@ -22,7 +22,7 @@ | type | String | | | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/EntityId.md b/pe/docs/EntityId.md index 9cfe54af..919c2035 100644 --- a/pe/docs/EntityId.md +++ b/pe/docs/EntityId.md @@ -17,6 +17,27 @@ #### AdminSettingsId *(entityType=`ADMIN_SETTINGS`)* *(no additional properties)* +#### AgentId *(entityType=`AGENT`)* +*(no additional properties)* + +#### AgentApplicationId *(entityType=`AGENT_APPLICATION`)* +*(no additional properties)* + +#### AgentAppEventId *(entityType=`AGENT_APP_EVENT`)* +*(no additional properties)* + +#### AgentAppProfileId *(entityType=`AGENT_APP_PROFILE`)* +*(no additional properties)* + +#### AgentAppUnitId *(entityType=`AGENT_APP_UNIT`)* +*(no additional properties)* + +#### AgentBulkActionId *(entityType=`AGENT_BULK_ACTION`)* +*(no additional properties)* + +#### AgentProfileId *(entityType=`AGENT_PROFILE`)* +*(no additional properties)* + #### AiModelId *(entityType=`AI_MODEL`)* *(no additional properties)* @@ -155,7 +176,7 @@ ## Referenced Types #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/EntityInfo.md b/pe/docs/EntityInfo.md index 4e8f3742..c4df6234 100644 --- a/pe/docs/EntityInfo.md +++ b/pe/docs/EntityInfo.md @@ -14,10 +14,10 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/EntityListFilter.md b/pe/docs/EntityListFilter.md index 7ec73948..ec955c44 100644 --- a/pe/docs/EntityListFilter.md +++ b/pe/docs/EntityListFilter.md @@ -22,7 +22,7 @@ | type | String | | | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/EntityLoadError.md b/pe/docs/EntityLoadError.md index 31c2a838..6d447f1e 100644 --- a/pe/docs/EntityLoadError.md +++ b/pe/docs/EntityLoadError.md @@ -16,10 +16,10 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/EntityNameFilter.md b/pe/docs/EntityNameFilter.md index 4d678d69..b7bc1d5f 100644 --- a/pe/docs/EntityNameFilter.md +++ b/pe/docs/EntityNameFilter.md @@ -22,7 +22,7 @@ | type | String | | | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/EntityRelation.md b/pe/docs/EntityRelation.md index 6fbbc310..aea59eaa 100644 --- a/pe/docs/EntityRelation.md +++ b/pe/docs/EntityRelation.md @@ -20,13 +20,13 @@ A JSON value representing the relation. ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### RelationTypeGroup (enum) -`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` +`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` | `AGENT` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/EntityRelationInfo.md b/pe/docs/EntityRelationInfo.md index f273e5ce..56869d42 100644 --- a/pe/docs/EntityRelationInfo.md +++ b/pe/docs/EntityRelationInfo.md @@ -20,13 +20,13 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### RelationTypeGroup (enum) -`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` +`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` | `AGENT` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/EntityRelationsQuery.md b/pe/docs/EntityRelationsQuery.md index 974a5f76..67c692fb 100644 --- a/pe/docs/EntityRelationsQuery.md +++ b/pe/docs/EntityRelationsQuery.md @@ -34,13 +34,13 @@ A JSON value representing the entity relations query object. | negate | Boolean | Negate relation type between root entity and other entity. | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### EntitySearchDirection (enum) `FROM` | `TO` #### RelationTypeGroup (enum) -`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` +`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` | `AGENT` --- diff --git a/pe/docs/EntitySubtype.md b/pe/docs/EntitySubtype.md index ef4f5ef1..e6a19327 100644 --- a/pe/docs/EntitySubtype.md +++ b/pe/docs/EntitySubtype.md @@ -15,10 +15,10 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/EntityTableComponent.md b/pe/docs/EntityTableComponent.md index 6a76269d..5c7ec83f 100644 --- a/pe/docs/EntityTableComponent.md +++ b/pe/docs/EntityTableComponent.md @@ -24,7 +24,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### ReportComponent | Name | Type | Description | Notes | @@ -254,7 +254,7 @@ | color | String | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### IntervalType (enum) `MILLISECONDS` | `WEEK` | `WEEK_ISO` | `MONTH` | `QUARTER` diff --git a/pe/docs/EntityType.md b/pe/docs/EntityType.md index fe09491e..c2d1877f 100644 --- a/pe/docs/EntityType.md +++ b/pe/docs/EntityType.md @@ -98,6 +98,20 @@ * `API_KEY` (value: `"API_KEY"`) +* `AGENT` (value: `"AGENT"`) + +* `AGENT_APPLICATION` (value: `"AGENT_APPLICATION"`) + +* `AGENT_APP_EVENT` (value: `"AGENT_APP_EVENT"`) + +* `AGENT_APP_UNIT` (value: `"AGENT_APP_UNIT"`) + +* `AGENT_APP_PROFILE` (value: `"AGENT_APP_PROFILE"`) + +* `AGENT_PROFILE` (value: `"AGENT_PROFILE"`) + +* `AGENT_BULK_ACTION` (value: `"AGENT_BULK_ACTION"`) + --- diff --git a/pe/docs/EntityTypeFilter.md b/pe/docs/EntityTypeFilter.md index 1ca9a042..a40157fc 100644 --- a/pe/docs/EntityTypeFilter.md +++ b/pe/docs/EntityTypeFilter.md @@ -21,7 +21,7 @@ | type | String | | | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/EntityTypeLoadResult.md b/pe/docs/EntityTypeLoadResult.md index 518a6620..da4ab62a 100644 --- a/pe/docs/EntityTypeLoadResult.md +++ b/pe/docs/EntityTypeLoadResult.md @@ -20,7 +20,7 @@ ## Referenced Types #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/EntityView.md b/pe/docs/EntityView.md index 32a1d6ae..be52629d 100644 --- a/pe/docs/EntityView.md +++ b/pe/docs/EntityView.md @@ -27,7 +27,7 @@ A JSON object representing the entity view. ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### TelemetryEntityView | Name | Type | Description | Notes | @@ -36,7 +36,7 @@ A JSON object representing the entity view. | attributes | AttributesEntityView | JSON object with attributes to expose | | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### AttributesEntityView | Name | Type | Description | Notes | diff --git a/pe/docs/EntityViewExportData.md b/pe/docs/EntityViewExportData.md index d99e9c6f..03ee248a 100644 --- a/pe/docs/EntityViewExportData.md +++ b/pe/docs/EntityViewExportData.md @@ -14,7 +14,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityExportData | Name | Type | Description | Notes | @@ -71,10 +71,10 @@ | debugMode | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### RelationTypeGroup (enum) -`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` +`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` | `AGENT` #### CalculatedFieldType (enum) `SIMPLE` | `SCRIPT` | `GEOFENCING` | `ALARM` | `PROPAGATION` | `RELATED_ENTITIES_AGGREGATION` | `ENTITY_AGGREGATION` diff --git a/pe/docs/EntityViewId.md b/pe/docs/EntityViewId.md index 9c73633a..333eddde 100644 --- a/pe/docs/EntityViewId.md +++ b/pe/docs/EntityViewId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/EntityViewInfo.md b/pe/docs/EntityViewInfo.md index 89a52765..8c8e4c89 100644 --- a/pe/docs/EntityViewInfo.md +++ b/pe/docs/EntityViewInfo.md @@ -27,7 +27,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### TelemetryEntityView | Name | Type | Description | Notes | @@ -42,7 +42,7 @@ | name | String | Entity Name | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### AttributesEntityView | Name | Type | Description | Notes | diff --git a/pe/docs/EntityViewSearchQuery.md b/pe/docs/EntityViewSearchQuery.md index 76797944..2db954c1 100644 --- a/pe/docs/EntityViewSearchQuery.md +++ b/pe/docs/EntityViewSearchQuery.md @@ -28,13 +28,13 @@ The entity view search query JSON | fetchLastLevelOnly | Boolean | Fetch entities that match the last level of search. Useful to find Devices that are strictly 'maxLevel' relations away from the root entity. | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### EntitySearchDirection (enum) `FROM` | `TO` #### RelationTypeGroup (enum) -`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` +`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` | `AGENT` --- diff --git a/pe/docs/EntityViewSearchQueryFilter.md b/pe/docs/EntityViewSearchQueryFilter.md index 90d99f86..ba91b5bd 100644 --- a/pe/docs/EntityViewSearchQueryFilter.md +++ b/pe/docs/EntityViewSearchQueryFilter.md @@ -41,7 +41,7 @@ `CURRENT_CUSTOMER` | `CURRENT_TENANT` | `CURRENT_USER` | `CURRENT_USER_OWNER` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/EventInfo.md b/pe/docs/EventInfo.md index 16437bb5..a3ed062d 100644 --- a/pe/docs/EventInfo.md +++ b/pe/docs/EventInfo.md @@ -19,7 +19,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EventId | Name | Type | Description | Notes | @@ -27,7 +27,7 @@ | id | UUID | string | | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/ExportableEntity.md b/pe/docs/ExportableEntity.md index 47a80cbb..bb08794d 100644 --- a/pe/docs/ExportableEntity.md +++ b/pe/docs/ExportableEntity.md @@ -16,10 +16,10 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/GeofencingCalculatedFieldConfiguration.md b/pe/docs/GeofencingCalculatedFieldConfiguration.md index 9149bd30..0931fdd1 100644 --- a/pe/docs/GeofencingCalculatedFieldConfiguration.md +++ b/pe/docs/GeofencingCalculatedFieldConfiguration.md @@ -18,7 +18,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### CalculatedFieldConfiguration | Name | Type | Description | Notes | @@ -85,7 +85,7 @@ `CLIENT_SCOPE` | `SERVER_SCOPE` | `SHARED_SCOPE` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### TimeSeriesOutputStrategy | Name | Type | Description | Notes | diff --git a/pe/docs/GetManagedRelatedEntityIds200ResponseInner.md b/pe/docs/GetManagedRelatedEntityIds200ResponseInner.md new file mode 100644 index 00000000..82ae6b28 --- /dev/null +++ b/pe/docs/GetManagedRelatedEntityIds200ResponseInner.md @@ -0,0 +1,28 @@ + +# GetManagedRelatedEntityIds200ResponseInner + +`org.thingsboard.client.model.GetManagedRelatedEntityIds200ResponseInner` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **entityType** | **EntityType** | | | +| **id** | **UUID** | ID of the entity, time-based UUID v1 | | + + + +## Referenced Types + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/GroupPermission.md b/pe/docs/GroupPermission.md index 7d6430ba..4a95dcf8 100644 --- a/pe/docs/GroupPermission.md +++ b/pe/docs/GroupPermission.md @@ -24,10 +24,10 @@ A JSON value representing the group permission. ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/GroupPermissionId.md b/pe/docs/GroupPermissionId.md index 9c344fc0..c5484190 100644 --- a/pe/docs/GroupPermissionId.md +++ b/pe/docs/GroupPermissionId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/GroupPermissionInfo.md b/pe/docs/GroupPermissionInfo.md index 1b220ef2..7bec3f7d 100644 --- a/pe/docs/GroupPermissionInfo.md +++ b/pe/docs/GroupPermissionInfo.md @@ -29,10 +29,10 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### Role | Name | Type | Description | Notes | diff --git a/pe/docs/HeaderFooter.md b/pe/docs/HeaderFooter.md index d499aad9..4ccb276c 100644 --- a/pe/docs/HeaderFooter.md +++ b/pe/docs/HeaderFooter.md @@ -15,7 +15,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### ReportComponent | Name | Type | Description | Notes | @@ -656,7 +656,7 @@ `CONSTANT` | `RANGE` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### IntervalType (enum) `MILLISECONDS` | `WEEK` | `WEEK_ISO` | `MONTH` | `QUARTER` diff --git a/pe/docs/HeadingComponent.md b/pe/docs/HeadingComponent.md index aed0285d..02c28c86 100644 --- a/pe/docs/HeadingComponent.md +++ b/pe/docs/HeadingComponent.md @@ -27,7 +27,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### ReportComponent | Name | Type | Description | Notes | @@ -238,7 +238,7 @@ | color | String | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### IntervalType (enum) `MILLISECONDS` | `WEEK` | `WEEK_ISO` | `MONTH` | `QUARTER` diff --git a/pe/docs/HomeDashboard.md b/pe/docs/HomeDashboard.md index c866b798..726c09e9 100644 --- a/pe/docs/HomeDashboard.md +++ b/pe/docs/HomeDashboard.md @@ -27,7 +27,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### ShortCustomerInfo | Name | Type | Description | Notes | @@ -52,7 +52,7 @@ | _public | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### ResourceType (enum) `LWM2_M_MODEL` | `JKS` | `PKCS_12` | `JS_MODULE` | `IMAGE` | `DASHBOARD` | `GENERAL` diff --git a/pe/docs/HomeDashboardInfo.md b/pe/docs/HomeDashboardInfo.md index 9bccfb9b..3bf00060 100644 --- a/pe/docs/HomeDashboardInfo.md +++ b/pe/docs/HomeDashboardInfo.md @@ -16,10 +16,10 @@ A JSON object that represents home dashboard id and other parameters ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/ImageComponent.md b/pe/docs/ImageComponent.md index d18248c5..55fb4cae 100644 --- a/pe/docs/ImageComponent.md +++ b/pe/docs/ImageComponent.md @@ -26,7 +26,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### ReportComponent | Name | Type | Description | Notes | @@ -226,7 +226,7 @@ | color | String | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### IntervalType (enum) `MILLISECONDS` | `WEEK` | `WEEK_ISO` | `MONTH` | `QUARTER` diff --git a/pe/docs/Integration.md b/pe/docs/Integration.md index d2fe7571..51090447 100644 --- a/pe/docs/Integration.md +++ b/pe/docs/Integration.md @@ -32,7 +32,7 @@ A JSON value representing the integration. ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### IntegrationType (enum) `OCEANCONNECT` | `SIGFOX` | `THINGPARK` | `TPE` | `CHIRPSTACK` | `PARTICLE` | `TMOBILE_IOT_CDP` | `HTTP` | `MQTT` | `PUB_SUB` | … (29 values total) @@ -45,7 +45,7 @@ A JSON value representing the integration. | allEnabledUntil | Long | Timestamp of the end time for the processing debug events. | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/IntegrationExportData.md b/pe/docs/IntegrationExportData.md index 187a513e..e36f1cad 100644 --- a/pe/docs/IntegrationExportData.md +++ b/pe/docs/IntegrationExportData.md @@ -14,7 +14,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityExportData | Name | Type | Description | Notes | @@ -71,10 +71,10 @@ | debugMode | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### RelationTypeGroup (enum) -`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` +`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` | `AGENT` #### CalculatedFieldType (enum) `SIMPLE` | `SCRIPT` | `GEOFENCING` | `ALARM` | `PROPAGATION` | `RELATED_ENTITIES_AGGREGATION` | `ENTITY_AGGREGATION` diff --git a/pe/docs/IntegrationId.md b/pe/docs/IntegrationId.md index 10766d74..72eb9873 100644 --- a/pe/docs/IntegrationId.md +++ b/pe/docs/IntegrationId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/IntegrationInfo.md b/pe/docs/IntegrationInfo.md index b205d633..24328e48 100644 --- a/pe/docs/IntegrationInfo.md +++ b/pe/docs/IntegrationInfo.md @@ -26,7 +26,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### IntegrationType (enum) `OCEANCONNECT` | `SIGFOX` | `THINGPARK` | `TPE` | `CHIRPSTACK` | `PARTICLE` | `TMOBILE_IOT_CDP` | `HTTP` | `MQTT` | `PUB_SUB` | … (29 values total) @@ -39,7 +39,7 @@ | allEnabledUntil | Long | Timestamp of the end time for the processing debug events. | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/Job.md b/pe/docs/Job.md index a6ccbf9f..2c017b58 100644 --- a/pe/docs/Job.md +++ b/pe/docs/Job.md @@ -24,7 +24,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### JobType (enum) `CF_REPROCESSING` | `REPORT` | `DUMMY` @@ -102,7 +102,7 @@ | report | Report | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### TaskResult | Name | Type | Description | Notes | diff --git a/pe/docs/JobConfiguration.md b/pe/docs/JobConfiguration.md index 8a5d2eee..410a0050 100644 --- a/pe/docs/JobConfiguration.md +++ b/pe/docs/JobConfiguration.md @@ -54,7 +54,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### TaskResult | Name | Type | Description | Notes | @@ -156,7 +156,7 @@ | totalSent | Integer | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### DebugSettings | Name | Type | Description | Notes | diff --git a/pe/docs/JobId.md b/pe/docs/JobId.md index f0058e0e..f2c0f70a 100644 --- a/pe/docs/JobId.md +++ b/pe/docs/JobId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/JobResult.md b/pe/docs/JobResult.md index ff319d16..47749732 100644 --- a/pe/docs/JobResult.md +++ b/pe/docs/JobResult.md @@ -37,7 +37,7 @@ Job execution result ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### TaskResult | Name | Type | Description | Notes | @@ -96,7 +96,7 @@ Job execution result | failAlways | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### EntityInfo | Name | Type | Description | Notes | diff --git a/pe/docs/LatestChartComponent.md b/pe/docs/LatestChartComponent.md index 7ee9acc8..06c9c666 100644 --- a/pe/docs/LatestChartComponent.md +++ b/pe/docs/LatestChartComponent.md @@ -26,7 +26,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### ReportComponent | Name | Type | Description | Notes | @@ -264,7 +264,7 @@ | color | String | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### IntervalType (enum) `MILLISECONDS` | `WEEK` | `WEEK_ISO` | `MONTH` | `QUARTER` diff --git a/pe/docs/LimitedApi.md b/pe/docs/LimitedApi.md index 828d1110..9ec76d9e 100644 --- a/pe/docs/LimitedApi.md +++ b/pe/docs/LimitedApi.md @@ -42,6 +42,14 @@ * `EDGE_UPLINK_MESSAGES_PER_EDGE` (value: `"EDGE_UPLINK_MESSAGES_PER_EDGE"`) +* `AGENT_EVENTS` (value: `"AGENT_EVENTS"`) + +* `AGENT_EVENTS_PER_AGENT` (value: `"AGENT_EVENTS_PER_AGENT"`) + +* `AGENT_LOG_CHUNKS` (value: `"AGENT_LOG_CHUNKS"`) + +* `AGENT_LOG_CHUNKS_PER_AGENT` (value: `"AGENT_LOG_CHUNKS_PER_AGENT"`) + * `INTEGRATION_MSGS_PER_TENANT` (value: `"INTEGRATION_MSGS_PER_TENANT"`) * `INTEGRATION_MSGS_PER_DEVICE` (value: `"INTEGRATION_MSGS_PER_DEVICE"`) diff --git a/pe/docs/LoginWhiteLabelingParams.md b/pe/docs/LoginWhiteLabelingParams.md index 13a2e911..f84a9d08 100644 --- a/pe/docs/LoginWhiteLabelingParams.md +++ b/pe/docs/LoginWhiteLabelingParams.md @@ -38,7 +38,7 @@ A JSON value representing the login white labeling configuration ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### Favicon | Name | Type | Description | Notes | @@ -59,7 +59,7 @@ A JSON value representing the login white labeling configuration | colors | Map | Mapping of hue identifier number to the rgb(a) color code | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/MergedGroupPermissionInfo.md b/pe/docs/MergedGroupPermissionInfo.md index 6dfe0ada..d90f3797 100644 --- a/pe/docs/MergedGroupPermissionInfo.md +++ b/pe/docs/MergedGroupPermissionInfo.md @@ -15,7 +15,7 @@ ## Referenced Types #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### Operation (enum) `ALL` | `CREATE` | `READ` | `WRITE` | `DELETE` | `RPC_CALL` | `READ_CREDENTIALS` | `WRITE_CREDENTIALS` | `READ_ATTRIBUTES` | `WRITE_ATTRIBUTES` | … (21 values total) diff --git a/pe/docs/MergedGroupTypePermissionInfo.md b/pe/docs/MergedGroupTypePermissionInfo.md index e3263c0a..15fbe0b8 100644 --- a/pe/docs/MergedGroupTypePermissionInfo.md +++ b/pe/docs/MergedGroupTypePermissionInfo.md @@ -14,10 +14,10 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/MergedUserPermissions.md b/pe/docs/MergedUserPermissions.md index ab72a5ce..1b2e0f6a 100644 --- a/pe/docs/MergedUserPermissions.md +++ b/pe/docs/MergedUserPermissions.md @@ -18,7 +18,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### Operation (enum) `ALL` | `CREATE` | `READ` | `WRITE` | `DELETE` | `RPC_CALL` | `READ_CREDENTIALS` | `WRITE_CREDENTIALS` | `READ_ATTRIBUTES` | `WRITE_ATTRIBUTES` | … (21 values total) @@ -36,7 +36,7 @@ | hasGenericRead | Boolean | Indicates if generic permission assigned to the user group. | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/MobileApp.md b/pe/docs/MobileApp.md index e0dccde1..523e8e43 100644 --- a/pe/docs/MobileApp.md +++ b/pe/docs/MobileApp.md @@ -25,7 +25,7 @@ A JSON value representing the Mobile Application. ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### PlatformType (enum) `WEB` | `ANDROID` | `IOS` @@ -49,7 +49,7 @@ A JSON value representing the Mobile Application. | storeLink | String | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/MobileAppBundle.md b/pe/docs/MobileAppBundle.md index 3ca34cbf..353458c0 100644 --- a/pe/docs/MobileAppBundle.md +++ b/pe/docs/MobileAppBundle.md @@ -25,7 +25,7 @@ A JSON value representing the Mobile Application Bundle. ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### MobileLayoutConfig | Name | Type | Description | Notes | @@ -105,7 +105,7 @@ A JSON value representing the Mobile Application Bundle. | host | String | Mobile application verification settings. Used for callback to mobile application once user is registered. | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### MobilePageType (enum) `DEFAULT` | `DASHBOARD` | `WEB_VIEW` | `CUSTOM` diff --git a/pe/docs/MobileAppBundleId.md b/pe/docs/MobileAppBundleId.md index 56b530a2..57bb9748 100644 --- a/pe/docs/MobileAppBundleId.md +++ b/pe/docs/MobileAppBundleId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/MobileAppBundleInfo.md b/pe/docs/MobileAppBundleInfo.md index 0917a8cd..ae926258 100644 --- a/pe/docs/MobileAppBundleInfo.md +++ b/pe/docs/MobileAppBundleInfo.md @@ -27,7 +27,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### MobileLayoutConfig | Name | Type | Description | Notes | @@ -120,7 +120,7 @@ `WEB` | `ANDROID` | `IOS` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### MobilePageType (enum) `DEFAULT` | `DASHBOARD` | `WEB_VIEW` | `CUSTOM` diff --git a/pe/docs/MobileAppId.md b/pe/docs/MobileAppId.md index e86332eb..0f45e6fe 100644 --- a/pe/docs/MobileAppId.md +++ b/pe/docs/MobileAppId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/MobileSelfRegistrationParams.md b/pe/docs/MobileSelfRegistrationParams.md index 4cd4906b..674a3f45 100644 --- a/pe/docs/MobileSelfRegistrationParams.md +++ b/pe/docs/MobileSelfRegistrationParams.md @@ -17,7 +17,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### SelfRegistrationParams | Name | Type | Description | Notes | @@ -114,7 +114,7 @@ | id | UUID | string | | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### SignUpFieldId (enum) `EMAIL` | `PASSWORD` | `REPEAT_PASSWORD` | `FIRST_NAME` | `LAST_NAME` | `PHONE` | `COUNTRY` | `CITY` | `STATE` | `ZIP` | … (12 values total) diff --git a/pe/docs/Notification.md b/pe/docs/Notification.md index 0f9fc8c4..7bf96fd4 100644 --- a/pe/docs/Notification.md +++ b/pe/docs/Notification.md @@ -23,7 +23,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### NotificationType (enum) `GENERAL` | `ALARM` | `DEVICE_ACTIVITY` | `ENTITY_ACTION` | `ALARM_COMMENT` | `RULE_ENGINE_COMPONENT_LIFECYCLE_EVENT` | `ALARM_ASSIGNMENT` | `NEW_PLATFORM_VERSION` | `ENTITIES_LIMIT` | `ENTITIES_LIMIT_INCREASE_REQUEST` | … (22 values total) @@ -42,7 +42,7 @@ `SENT` | `READ` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/NotificationId.md b/pe/docs/NotificationId.md index c60ab8bf..dd15e9cc 100644 --- a/pe/docs/NotificationId.md +++ b/pe/docs/NotificationId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/NotificationInfo.md b/pe/docs/NotificationInfo.md index 76f29f6b..e700a3a7 100644 --- a/pe/docs/NotificationInfo.md +++ b/pe/docs/NotificationInfo.md @@ -15,10 +15,10 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/NotificationRequest.md b/pe/docs/NotificationRequest.md index 00f5ee0d..4b973b8f 100644 --- a/pe/docs/NotificationRequest.md +++ b/pe/docs/NotificationRequest.md @@ -24,7 +24,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### NotificationTemplate | Name | Type | Description | Notes | @@ -75,7 +75,7 @@ | makePublic | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### DeliveryMethodNotificationTemplate | Name | Type | Description | Notes | diff --git a/pe/docs/NotificationRequestConfig.md b/pe/docs/NotificationRequestConfig.md index c54026b8..718e185d 100644 --- a/pe/docs/NotificationRequestConfig.md +++ b/pe/docs/NotificationRequestConfig.md @@ -14,10 +14,10 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/NotificationRequestId.md b/pe/docs/NotificationRequestId.md index 5deca2e1..6913cb24 100644 --- a/pe/docs/NotificationRequestId.md +++ b/pe/docs/NotificationRequestId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/NotificationRequestInfo.md b/pe/docs/NotificationRequestInfo.md index 3e5f84ec..e13ba5e2 100644 --- a/pe/docs/NotificationRequestInfo.md +++ b/pe/docs/NotificationRequestInfo.md @@ -26,7 +26,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### NotificationTemplate | Name | Type | Description | Notes | @@ -80,7 +80,7 @@ | makePublic | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### DeliveryMethodNotificationTemplate | Name | Type | Description | Notes | diff --git a/pe/docs/NotificationRule.md b/pe/docs/NotificationRule.md index 7cc5edbc..7f2f05cb 100644 --- a/pe/docs/NotificationRule.md +++ b/pe/docs/NotificationRule.md @@ -22,7 +22,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### NotificationRuleTriggerType (enum) `ENTITY_ACTION` | `ALARM` | `ALARM_COMMENT` | `ALARM_ASSIGNMENT` | `DEVICE_ACTIVITY` | `RULE_ENGINE_COMPONENT_LIFECYCLE_EVENT` | `INTEGRATION_LIFECYCLE_EVENT` | `EDGE_CONNECTION` | `EDGE_COMMUNICATION_FAILURE` | `NEW_PLATFORM_VERSION` | … (15 values total) @@ -217,7 +217,7 @@ | description | String | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### AlarmSeverity (enum) `CRITICAL` | `MAJOR` | `MINOR` | `WARNING` | `INDETERMINATE` @@ -249,7 +249,7 @@ `ENABLED` | `WARNING` | `DISABLED` #### LimitedApi (enum) -`ENTITY_EXPORT` | `ENTITY_IMPORT` | `NOTIFICATION_REQUESTS` | `NOTIFICATION_REQUESTS_PER_RULE` | `REST_REQUESTS_PER_TENANT` | `REST_REQUESTS_PER_CUSTOMER` | `WS_UPDATES_PER_SESSION` | `CASSANDRA_WRITE_QUERIES_CORE` | `CASSANDRA_READ_QUERIES_CORE` | `CASSANDRA_WRITE_QUERIES_RULE_ENGINE` | … (36 values total) +`ENTITY_EXPORT` | `ENTITY_IMPORT` | `NOTIFICATION_REQUESTS` | `NOTIFICATION_REQUESTS_PER_RULE` | `REST_REQUESTS_PER_TENANT` | `REST_REQUESTS_PER_CUSTOMER` | `WS_UPDATES_PER_SESSION` | `CASSANDRA_WRITE_QUERIES_CORE` | `CASSANDRA_READ_QUERIES_CORE` | `CASSANDRA_WRITE_QUERIES_RULE_ENGINE` | … (40 values total) #### EdgeConnectivityEvent (enum) `CONNECTED` | `DISCONNECTED` diff --git a/pe/docs/NotificationRuleExportData.md b/pe/docs/NotificationRuleExportData.md index ac742d0a..a049553b 100644 --- a/pe/docs/NotificationRuleExportData.md +++ b/pe/docs/NotificationRuleExportData.md @@ -14,7 +14,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityExportData | Name | Type | Description | Notes | @@ -71,10 +71,10 @@ | debugMode | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### RelationTypeGroup (enum) -`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` +`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` | `AGENT` #### CalculatedFieldType (enum) `SIMPLE` | `SCRIPT` | `GEOFENCING` | `ALARM` | `PROPAGATION` | `RELATED_ENTITIES_AGGREGATION` | `ENTITY_AGGREGATION` diff --git a/pe/docs/NotificationRuleId.md b/pe/docs/NotificationRuleId.md index df3cd672..98300ab4 100644 --- a/pe/docs/NotificationRuleId.md +++ b/pe/docs/NotificationRuleId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/NotificationRuleInfo.md b/pe/docs/NotificationRuleInfo.md index d6159bd2..1a72823a 100644 --- a/pe/docs/NotificationRuleInfo.md +++ b/pe/docs/NotificationRuleInfo.md @@ -24,7 +24,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### NotificationRuleTriggerType (enum) `ENTITY_ACTION` | `ALARM` | `ALARM_COMMENT` | `ALARM_ASSIGNMENT` | `DEVICE_ACTIVITY` | `RULE_ENGINE_COMPONENT_LIFECYCLE_EVENT` | `INTEGRATION_LIFECYCLE_EVENT` | `EDGE_CONNECTION` | `EDGE_COMMUNICATION_FAILURE` | `NEW_PLATFORM_VERSION` | … (15 values total) @@ -222,7 +222,7 @@ `WEB` | `EMAIL` | `SMS` | `SLACK` | `MICROSOFT_TEAMS` | `MOBILE_APP` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### AlarmSeverity (enum) `CRITICAL` | `MAJOR` | `MINOR` | `WARNING` | `INDETERMINATE` @@ -254,7 +254,7 @@ `ENABLED` | `WARNING` | `DISABLED` #### LimitedApi (enum) -`ENTITY_EXPORT` | `ENTITY_IMPORT` | `NOTIFICATION_REQUESTS` | `NOTIFICATION_REQUESTS_PER_RULE` | `REST_REQUESTS_PER_TENANT` | `REST_REQUESTS_PER_CUSTOMER` | `WS_UPDATES_PER_SESSION` | `CASSANDRA_WRITE_QUERIES_CORE` | `CASSANDRA_READ_QUERIES_CORE` | `CASSANDRA_WRITE_QUERIES_RULE_ENGINE` | … (36 values total) +`ENTITY_EXPORT` | `ENTITY_IMPORT` | `NOTIFICATION_REQUESTS` | `NOTIFICATION_REQUESTS_PER_RULE` | `REST_REQUESTS_PER_TENANT` | `REST_REQUESTS_PER_CUSTOMER` | `WS_UPDATES_PER_SESSION` | `CASSANDRA_WRITE_QUERIES_CORE` | `CASSANDRA_READ_QUERIES_CORE` | `CASSANDRA_WRITE_QUERIES_RULE_ENGINE` | … (40 values total) #### EdgeConnectivityEvent (enum) `CONNECTED` | `DISCONNECTED` diff --git a/pe/docs/NotificationRuleTriggerConfig.md b/pe/docs/NotificationRuleTriggerConfig.md index ee80ad37..83927e5f 100644 --- a/pe/docs/NotificationRuleTriggerConfig.md +++ b/pe/docs/NotificationRuleTriggerConfig.md @@ -149,7 +149,7 @@ Configuration for notification rule trigger `CONNECTED` | `DISCONNECTED` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### IntegrationType (enum) `OCEANCONNECT` | `SIGFOX` | `THINGPARK` | `TPE` | `CHIRPSTACK` | `PARTICLE` | `TMOBILE_IOT_CDP` | `HTTP` | `MQTT` | `PUB_SUB` | … (29 values total) @@ -158,7 +158,7 @@ Configuration for notification rule trigger `CREATED` | `STARTED` | `ACTIVATED` | `SUSPENDED` | `UPDATED` | `STOPPED` | `DELETED` | `FAILED` | `DEACTIVATED` | `RELATION_UPDATED` | … (11 values total) #### LimitedApi (enum) -`ENTITY_EXPORT` | `ENTITY_IMPORT` | `NOTIFICATION_REQUESTS` | `NOTIFICATION_REQUESTS_PER_RULE` | `REST_REQUESTS_PER_TENANT` | `REST_REQUESTS_PER_CUSTOMER` | `WS_UPDATES_PER_SESSION` | `CASSANDRA_WRITE_QUERIES_CORE` | `CASSANDRA_READ_QUERIES_CORE` | `CASSANDRA_WRITE_QUERIES_RULE_ENGINE` | … (36 values total) +`ENTITY_EXPORT` | `ENTITY_IMPORT` | `NOTIFICATION_REQUESTS` | `NOTIFICATION_REQUESTS_PER_RULE` | `REST_REQUESTS_PER_TENANT` | `REST_REQUESTS_PER_CUSTOMER` | `WS_UPDATES_PER_SESSION` | `CASSANDRA_WRITE_QUERIES_CORE` | `CASSANDRA_READ_QUERIES_CORE` | `CASSANDRA_WRITE_QUERIES_RULE_ENGINE` | … (40 values total) --- diff --git a/pe/docs/NotificationTarget.md b/pe/docs/NotificationTarget.md index 56b85acd..f80dd79c 100644 --- a/pe/docs/NotificationTarget.md +++ b/pe/docs/NotificationTarget.md @@ -17,7 +17,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### NotificationTargetConfig | Name | Type | Description | Notes | @@ -49,7 +49,7 @@ | conversation | SlackConversation | | | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### UsersFilter | Name | Type | Description | Notes | diff --git a/pe/docs/NotificationTargetExportData.md b/pe/docs/NotificationTargetExportData.md index 8dcd9275..53d90255 100644 --- a/pe/docs/NotificationTargetExportData.md +++ b/pe/docs/NotificationTargetExportData.md @@ -14,7 +14,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityExportData | Name | Type | Description | Notes | @@ -71,10 +71,10 @@ | debugMode | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### RelationTypeGroup (enum) -`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` +`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` | `AGENT` #### CalculatedFieldType (enum) `SIMPLE` | `SCRIPT` | `GEOFENCING` | `ALARM` | `PROPAGATION` | `RELATED_ENTITIES_AGGREGATION` | `ENTITY_AGGREGATION` diff --git a/pe/docs/NotificationTargetId.md b/pe/docs/NotificationTargetId.md index 0f764644..afb453b3 100644 --- a/pe/docs/NotificationTargetId.md +++ b/pe/docs/NotificationTargetId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/NotificationTemplate.md b/pe/docs/NotificationTemplate.md index b70b1de3..6d6e3d7d 100644 --- a/pe/docs/NotificationTemplate.md +++ b/pe/docs/NotificationTemplate.md @@ -18,7 +18,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### NotificationType (enum) `GENERAL` | `ALARM` | `DEVICE_ACTIVITY` | `ENTITY_ACTION` | `ALARM_COMMENT` | `RULE_ENGINE_COMPONENT_LIFECYCLE_EVENT` | `ALARM_ASSIGNMENT` | `NEW_PLATFORM_VERSION` | `ENTITIES_LIMIT` | `ENTITIES_LIMIT_INCREASE_REQUEST` | … (22 values total) @@ -71,7 +71,7 @@ | additionalConfig | com.fasterxml.jackson.databind.JsonNode | Additional JSON configuration for web buttons/actions | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### Button | Name | Type | Description | Notes | diff --git a/pe/docs/NotificationTemplateConfig.md b/pe/docs/NotificationTemplateConfig.md index ae10a077..425e77ef 100644 --- a/pe/docs/NotificationTemplateConfig.md +++ b/pe/docs/NotificationTemplateConfig.md @@ -18,7 +18,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### DeliveryMethodNotificationTemplate | Name | Type | Description | Notes | @@ -69,7 +69,7 @@ | setEntityIdInState | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### LinkType (enum) `LINK` | `DASHBOARD` diff --git a/pe/docs/NotificationTemplateExportData.md b/pe/docs/NotificationTemplateExportData.md index b7ead0a6..577a2db7 100644 --- a/pe/docs/NotificationTemplateExportData.md +++ b/pe/docs/NotificationTemplateExportData.md @@ -14,7 +14,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityExportData | Name | Type | Description | Notes | @@ -71,10 +71,10 @@ | debugMode | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### RelationTypeGroup (enum) -`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` +`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` | `AGENT` #### CalculatedFieldType (enum) `SIMPLE` | `SCRIPT` | `GEOFENCING` | `ALARM` | `PROPAGATION` | `RELATED_ENTITIES_AGGREGATION` | `ENTITY_AGGREGATION` diff --git a/pe/docs/NotificationTemplateId.md b/pe/docs/NotificationTemplateId.md index 4ed58547..1dc12b06 100644 --- a/pe/docs/NotificationTemplateId.md +++ b/pe/docs/NotificationTemplateId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/OAuth2Client.md b/pe/docs/OAuth2Client.md index 1920181f..89e65750 100644 --- a/pe/docs/OAuth2Client.md +++ b/pe/docs/OAuth2Client.md @@ -33,7 +33,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### OAuth2MapperConfig | Name | Type | Description | Notes | @@ -73,7 +73,7 @@ | sendToken | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### TenantNameStrategyType (enum) `DOMAIN` | `EMAIL` | `CUSTOM` diff --git a/pe/docs/OAuth2ClientId.md b/pe/docs/OAuth2ClientId.md index befdf3a5..f21018bc 100644 --- a/pe/docs/OAuth2ClientId.md +++ b/pe/docs/OAuth2ClientId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/OAuth2ClientInfo.md b/pe/docs/OAuth2ClientInfo.md index 0b28158a..0527de33 100644 --- a/pe/docs/OAuth2ClientInfo.md +++ b/pe/docs/OAuth2ClientInfo.md @@ -18,13 +18,13 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### PlatformType (enum) `WEB` | `ANDROID` | `IOS` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/OtaPackage.md b/pe/docs/OtaPackage.md index a8afb22c..77b5e9e2 100644 --- a/pe/docs/OtaPackage.md +++ b/pe/docs/OtaPackage.md @@ -30,7 +30,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### OtaPackageType (enum) `FIRMWARE` | `SOFTWARE` @@ -39,7 +39,7 @@ `MD5` | `SHA256` | `SHA384` | `SHA512` | `CRC32` | `MURMUR3_32` | `MURMUR3_128` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/OtaPackageExportData.md b/pe/docs/OtaPackageExportData.md index 7d1600d7..0c35bd67 100644 --- a/pe/docs/OtaPackageExportData.md +++ b/pe/docs/OtaPackageExportData.md @@ -14,7 +14,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityExportData | Name | Type | Description | Notes | @@ -71,10 +71,10 @@ | debugMode | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### RelationTypeGroup (enum) -`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` +`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` | `AGENT` #### CalculatedFieldType (enum) `SIMPLE` | `SCRIPT` | `GEOFENCING` | `ALARM` | `PROPAGATION` | `RELATED_ENTITIES_AGGREGATION` | `ENTITY_AGGREGATION` diff --git a/pe/docs/OtaPackageId.md b/pe/docs/OtaPackageId.md index cd65aa89..721da471 100644 --- a/pe/docs/OtaPackageId.md +++ b/pe/docs/OtaPackageId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/OtaPackageInfo.md b/pe/docs/OtaPackageInfo.md index 2376494a..19eb2fc9 100644 --- a/pe/docs/OtaPackageInfo.md +++ b/pe/docs/OtaPackageInfo.md @@ -29,7 +29,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### OtaPackageType (enum) `FIRMWARE` | `SOFTWARE` @@ -38,7 +38,7 @@ `MD5` | `SHA256` | `SHA384` | `SHA512` | `CRC32` | `MURMUR3_32` | `MURMUR3_128` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataAgent.md b/pe/docs/PageDataAgent.md new file mode 100644 index 00000000..ab86307c --- /dev/null +++ b/pe/docs/PageDataAgent.md @@ -0,0 +1,48 @@ + +# PageDataAgent + +`org.thingsboard.client.model.PageDataAgent` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **data** | **List\** | Array of the entities | [optional] | +| **totalPages** | **Integer** | Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria | [optional] [readonly] | +| **totalElements** | **Long** | Total number of elements in all available pages | [optional] [readonly] | +| **hasNext** | **Boolean** | 'false' value indicates the end of the result set | [optional] [readonly] | + + + +## Referenced Types + +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. + +#### Agent +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| id | AgentId | JSON object with the Agent Id. Specify this field to update the Agent. Referencing non-existing Agent Id will cause error. Omit this field to create new Agent. | [optional] | +| createdTime | Long | Timestamp of the agent creation, in milliseconds | [optional] [readonly] | +| additionalInfo | com.fasterxml.jackson.databind.JsonNode | | [optional] | +| tenantId | TenantId | JSON object with Tenant Id. Use 'assignAgentToTenant' to change the Tenant Id. | [optional] [readonly] | +| customerId | CustomerId | JSON object with Customer Id. | [optional] [readonly] | +| name | String | Unique Agent Name in scope of Tenant | | +| description | String | Agent description | [optional] | +| routingKey | String | Agent routing key used for authentication | | +| secret | String | Agent secret used for authentication | | +| agentProfileId | AgentProfileId | JSON object with Agent Profile Id. Nullable. | [optional] | +| version | Long | | [optional] | +| ownerId | EntityId | JSON object with Customer or Tenant Id | [optional] [readonly] | + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/PageDataAgentAppEvent.md b/pe/docs/PageDataAgentAppEvent.md new file mode 100644 index 00000000..1c9bfe36 --- /dev/null +++ b/pe/docs/PageDataAgentAppEvent.md @@ -0,0 +1,115 @@ + +# PageDataAgentAppEvent + +`org.thingsboard.client.model.PageDataAgentAppEvent` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **data** | **List\** | Array of the entities | [optional] | +| **totalPages** | **Integer** | Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria | [optional] [readonly] | +| **totalElements** | **Long** | Total number of elements in all available pages | [optional] [readonly] | +| **hasNext** | **Boolean** | 'false' value indicates the end of the result set | [optional] [readonly] | + + + +## Referenced Types + +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. + +#### AgentAppEvent +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| id | AgentAppEventId | JSON object with the Agent App Event Id. | [optional] | +| createdTime | Long | Timestamp of the event creation, in milliseconds | [optional] [readonly] | +| tenantId | TenantId | | [optional] | +| applicationId | AgentApplicationId | | [optional] | +| agentId | AgentId | | [optional] | +| applicationName | String | | [optional] | +| actionType | AgentAppEventActionType | | [optional] | +| startStatus | ProcessingStartStatus | | [optional] | +| processingStatus | AgentProcessingStatus | | [optional] | +| currentStepId | UUID | | [optional] | +| currentActivity | String | | [optional] | +| errorMessage | String | | [optional] | +| updatedTime | Long | | [optional] | +| stepStates | Map | | [optional] | +| bulkActionId | UUID | | [optional] | +| resolvedArguments | Map | | [optional] | +| winnerContainerId | String | | [optional] | +| finalizeDeadlineTs | Long | | [optional] | +| contextMetadata | Map | | [optional] | + +#### AgentAppEventActionType (enum) +`INSTALL` | `UPDATE` | `DELETE` | `RESTART` | `ROLLBACK` | `UPGRADE` | `AGENT_UPGRADE` + +#### ProcessingStartStatus (enum) +`DELIVERY_FAIL` | `PENDING` | `DELIVERED` + +#### AgentProcessingStatus (enum) +`PENDING` | `QUEUED` | `PROCESSING` | `FINISHED` | `ERROR` | `START_FAILED` + +#### AgentAppEventStepStatesValue +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| type | AgentAppStepType | | [optional] | +| backupVolumes | StepFieldListString | | [optional] | +| serviceImageRegexPatterns | StepFieldListString | | [optional] | +| removeVolumes | StepFieldBoolean | | [optional] | +| pullImages | StepFieldBoolean | | [optional] | +| failedEventId | StepFieldAgentAppEventId | | [optional] | +| image | StepFieldString | | [optional] | +| entrypoint | StepFieldListString | | [optional] | +| cmd | StepFieldListString | | [optional] | +| env | StepFieldListString | | [optional] | +| binds | StepFieldListString | | [optional] | +| networks | StepFieldListString | | [optional] | +| retries | StepFieldInteger | | [optional] | +| networkFromServiceImageRegexPattern | StepFieldString | | [optional] | + +#### AgentAppStepType (enum) +`COMPOSE_TEMPLATE` | `COMPOSE` | `COMPOSE_START` | `COMPOSE_DOWN` | `ROLLBACK` | `BACKUP_VOLUME` | `BACKUP_VOLUME_REMOVE` | `COMPOSE_RESTART` | `RUN_JOB` | `AGENT_PREPARE` | … (11 values total) + +#### StepFieldListString +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| userChoice | Boolean | | [optional] | +| value | List | | [optional] | + +#### StepFieldBoolean +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | Boolean | | [optional] | +| userChoice | Boolean | | [optional] | + +#### StepFieldAgentAppEventId +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | AgentAppEventId | | [optional] | +| userChoice | Boolean | | [optional] | + +#### StepFieldString +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | String | | [optional] | +| userChoice | Boolean | | [optional] | + +#### StepFieldInteger +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | Integer | | [optional] | +| userChoice | Boolean | | [optional] | + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/PageDataAgentAppEventInfo.md b/pe/docs/PageDataAgentAppEventInfo.md new file mode 100644 index 00000000..6932f802 --- /dev/null +++ b/pe/docs/PageDataAgentAppEventInfo.md @@ -0,0 +1,116 @@ + +# PageDataAgentAppEventInfo + +`org.thingsboard.client.model.PageDataAgentAppEventInfo` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **data** | **List\** | Array of the entities | [optional] | +| **totalPages** | **Integer** | Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria | [optional] [readonly] | +| **totalElements** | **Long** | Total number of elements in all available pages | [optional] [readonly] | +| **hasNext** | **Boolean** | 'false' value indicates the end of the result set | [optional] [readonly] | + + + +## Referenced Types + +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. + +#### AgentAppEventInfo +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| id | AgentAppEventId | JSON object with the Agent App Event Id. | [optional] | +| createdTime | Long | Timestamp of the event creation, in milliseconds | [optional] [readonly] | +| tenantId | TenantId | | [optional] | +| applicationId | AgentApplicationId | | [optional] | +| agentId | AgentId | | [optional] | +| applicationName | String | | [optional] | +| actionType | AgentAppEventActionType | | [optional] | +| startStatus | ProcessingStartStatus | | [optional] | +| processingStatus | AgentProcessingStatus | | [optional] | +| currentStepId | UUID | | [optional] | +| currentActivity | String | | [optional] | +| errorMessage | String | | [optional] | +| updatedTime | Long | | [optional] | +| stepStates | Map | | [optional] | +| bulkActionId | UUID | | [optional] | +| resolvedArguments | Map | | [optional] | +| winnerContainerId | String | | [optional] | +| finalizeDeadlineTs | Long | | [optional] | +| contextMetadata | Map | | [optional] | +| agentName | String | Name of the Agent that owns the Application. | [optional] [readonly] | + +#### AgentAppEventActionType (enum) +`INSTALL` | `UPDATE` | `DELETE` | `RESTART` | `ROLLBACK` | `UPGRADE` | `AGENT_UPGRADE` + +#### ProcessingStartStatus (enum) +`DELIVERY_FAIL` | `PENDING` | `DELIVERED` + +#### AgentProcessingStatus (enum) +`PENDING` | `QUEUED` | `PROCESSING` | `FINISHED` | `ERROR` | `START_FAILED` + +#### AgentAppEventStepStatesValue +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| type | AgentAppStepType | | [optional] | +| backupVolumes | StepFieldListString | | [optional] | +| serviceImageRegexPatterns | StepFieldListString | | [optional] | +| removeVolumes | StepFieldBoolean | | [optional] | +| pullImages | StepFieldBoolean | | [optional] | +| failedEventId | StepFieldAgentAppEventId | | [optional] | +| image | StepFieldString | | [optional] | +| entrypoint | StepFieldListString | | [optional] | +| cmd | StepFieldListString | | [optional] | +| env | StepFieldListString | | [optional] | +| binds | StepFieldListString | | [optional] | +| networks | StepFieldListString | | [optional] | +| retries | StepFieldInteger | | [optional] | +| networkFromServiceImageRegexPattern | StepFieldString | | [optional] | + +#### AgentAppStepType (enum) +`COMPOSE_TEMPLATE` | `COMPOSE` | `COMPOSE_START` | `COMPOSE_DOWN` | `ROLLBACK` | `BACKUP_VOLUME` | `BACKUP_VOLUME_REMOVE` | `COMPOSE_RESTART` | `RUN_JOB` | `AGENT_PREPARE` | … (11 values total) + +#### StepFieldListString +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| userChoice | Boolean | | [optional] | +| value | List | | [optional] | + +#### StepFieldBoolean +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | Boolean | | [optional] | +| userChoice | Boolean | | [optional] | + +#### StepFieldAgentAppEventId +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | AgentAppEventId | | [optional] | +| userChoice | Boolean | | [optional] | + +#### StepFieldString +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | String | | [optional] | +| userChoice | Boolean | | [optional] | + +#### StepFieldInteger +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | Integer | | [optional] | +| userChoice | Boolean | | [optional] | + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/PageDataAgentAppProfile.md b/pe/docs/PageDataAgentAppProfile.md new file mode 100644 index 00000000..70ca3cfd --- /dev/null +++ b/pe/docs/PageDataAgentAppProfile.md @@ -0,0 +1,88 @@ + +# PageDataAgentAppProfile + +`org.thingsboard.client.model.PageDataAgentAppProfile` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **data** | **List\** | Array of the entities | [optional] | +| **totalPages** | **Integer** | Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria | [optional] [readonly] | +| **totalElements** | **Long** | Total number of elements in all available pages | [optional] [readonly] | +| **hasNext** | **Boolean** | 'false' value indicates the end of the result set | [optional] [readonly] | + + + +## Referenced Types + +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. + +#### AgentAppProfile +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| id | AgentAppProfileId | JSON object with the Agent Application Profile Id. | [optional] | +| createdTime | Long | Timestamp of the profile creation, in milliseconds | [optional] [readonly] | +| tenantId | TenantId | JSON object with Tenant Id. | [optional] [readonly] | +| name | String | Unique profile name within tenant | | +| description | String | Profile description | [optional] | +| appType | AgentApplicationType | Application type: EDGE, GATEWAY, or GENERIC | | +| templateVersion | String | Template version this profile is based on | | +| config | DockerComposeConfig | | [optional] | +| version | Long | | [optional] | + +#### AgentApplicationType (enum) +`GENERIC` | `EDGE` | `GATEWAY` + +#### DockerComposeConfig *(extends AgentAppConfig)* +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| compose | com.fasterxml.jackson.databind.JsonNode | | [optional] | +| composeType | String | | [optional] | + +#### AgentAppConfig +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| arguments | List | | [optional] | +| edgeRoutingKey | String | | [optional] | +| type | AgentAppConfigType | | [optional] | + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +#### AgentAppArgument +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| name | String | Argument name, referenced in the compose as ${tb.}. | [optional] | +| sourceType | AgentAppArgumentSource | Source entity the value is resolved from. | [optional] | +| sourceEntityId | EntityId | Concrete source entity id. Required when sourceType references a specific entity (DEVICE, ASSET, CUSTOMER, EDGE); ignored for the context-derived sources. | [optional] | +| valueType | AgentAppArgumentValueType | Whether the value is read from an attribute or the latest telemetry. | [optional] | +| scope | AttributeScope | Attribute scope. Applicable only when valueType is ATTRIBUTE. Defaults to SERVER_SCOPE. | [optional] | +| key | String | Attribute or latest telemetry key to read. | [optional] | +| defaultValue | String | Optional fallback value used when the source has no value for the key. | [optional] | +| format | AgentAppArgumentFormat | How the resolved value is injected into the compose: STRING (quoted) or JSON (raw, for arrays/objects/numbers when the placeholder is the whole value). Defaults to STRING. | [optional] | + +#### AgentAppConfigType (enum) +`DOCKER_COMPOSE` + +#### AgentAppArgumentSource (enum) +`AGENT` | `OWNER` | `RELATED_ENTITY` | `TENANT` | `DEVICE` | `ASSET` | `CUSTOMER` | `EDGE` + +#### AgentAppArgumentValueType (enum) +`ATTRIBUTE` | `LATEST_TELEMETRY` + +#### AttributeScope (enum) +`CLIENT_SCOPE` | `SERVER_SCOPE` | `SHARED_SCOPE` + +#### AgentAppArgumentFormat (enum) +`STRING` | `JSON` + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/PageDataAgentAppUnit.md b/pe/docs/PageDataAgentAppUnit.md new file mode 100644 index 00000000..164b57e6 --- /dev/null +++ b/pe/docs/PageDataAgentAppUnit.md @@ -0,0 +1,45 @@ + +# PageDataAgentAppUnit + +`org.thingsboard.client.model.PageDataAgentAppUnit` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **data** | **List\** | Array of the entities | [optional] | +| **totalPages** | **Integer** | Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria | [optional] [readonly] | +| **totalElements** | **Long** | Total number of elements in all available pages | [optional] [readonly] | +| **hasNext** | **Boolean** | 'false' value indicates the end of the result set | [optional] [readonly] | + + + +## Referenced Types + +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. + +#### AgentAppUnit +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| id | AgentAppUnitId | JSON object with the Agent App Unit Id. | [optional] | +| createdTime | Long | Timestamp of the agent app unit creation, in milliseconds | [optional] [readonly] | +| tenantId | TenantId | Tenant this unit belongs to | | +| agentApplicationId | AgentApplicationId | Agent application this unit belongs to | | +| identifier | String | Unit identifier | | +| type | AgentAppUnitType | Unit type | | + +#### AgentAppUnitType (enum) +`CONTAINER` | `VOLUME` | `NETWORK` + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/PageDataAgentApplicationInfo.md b/pe/docs/PageDataAgentApplicationInfo.md new file mode 100644 index 00000000..542b0303 --- /dev/null +++ b/pe/docs/PageDataAgentApplicationInfo.md @@ -0,0 +1,104 @@ + +# PageDataAgentApplicationInfo + +`org.thingsboard.client.model.PageDataAgentApplicationInfo` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **data** | **List\** | Array of the entities | [optional] | +| **totalPages** | **Integer** | Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria | [optional] [readonly] | +| **totalElements** | **Long** | Total number of elements in all available pages | [optional] [readonly] | +| **hasNext** | **Boolean** | 'false' value indicates the end of the result set | [optional] [readonly] | + + + +## Referenced Types + +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. + +#### AgentApplicationInfo +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| id | AgentApplicationId | JSON object with the Agent Application Id. | [optional] | +| createdTime | Long | Timestamp of the agent application creation, in milliseconds | [optional] [readonly] | +| tenantId | TenantId | JSON object with Tenant Id. | [optional] [readonly] | +| agentId | AgentId | Agent this application belongs to | | +| name | String | Application name (not unique across tenant) | [optional] | +| templateVersion | String | Template version this application is based on | | +| desiredTemplateVersion | String | | [optional] | +| appType | AgentApplicationType | Application type | | +| config | DockerComposeConfig | | [optional] | +| version | Long | | [optional] | +| projectName | String | | [optional] | +| pendingDeletion | Boolean | | [optional] | +| origin | AgentApplicationOrigin | Origin of the application (INSTALLED or DISCOVERED) | [optional] | +| applicationProfileId | AgentAppProfileId | Application Profile Id. When set, config is read-only and inherited from the profile. | [optional] | +| profileConfigVersion | Long | | [optional] | +| currentVersion | String | Current version of the template this application is based on. | [optional] [readonly] | +| nextVersion | String | Next version available for upgrade. | [optional] [readonly] | +| profileConfigOutdated | Boolean | True if the app's config is outdated relative to its profile. | [optional] [readonly] | +| profileName | String | Name of the application profile this app is based on. | [optional] [readonly] | +| profileTemplateVersion | String | Template version of the application profile this app is based on. | [optional] [readonly] | +| agentName | String | Name of the owning agent. | [optional] [readonly] | +| relatedEntityId | EntityId | Related entity id (Edge or Gateway device) currently assigned to this application. | [optional] [readonly] | + +#### AgentApplicationType (enum) +`GENERIC` | `EDGE` | `GATEWAY` + +#### DockerComposeConfig *(extends AgentAppConfig)* +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| compose | com.fasterxml.jackson.databind.JsonNode | | [optional] | +| composeType | String | | [optional] | + +#### AgentApplicationOrigin (enum) +`INSTALLED` | `DISCOVERED` | `AUTO_PROVISIONED` + +#### AgentAppConfig +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| arguments | List | | [optional] | +| edgeRoutingKey | String | | [optional] | +| type | AgentAppConfigType | | [optional] | + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +#### AgentAppArgument +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| name | String | Argument name, referenced in the compose as ${tb.}. | [optional] | +| sourceType | AgentAppArgumentSource | Source entity the value is resolved from. | [optional] | +| sourceEntityId | EntityId | Concrete source entity id. Required when sourceType references a specific entity (DEVICE, ASSET, CUSTOMER, EDGE); ignored for the context-derived sources. | [optional] | +| valueType | AgentAppArgumentValueType | Whether the value is read from an attribute or the latest telemetry. | [optional] | +| scope | AttributeScope | Attribute scope. Applicable only when valueType is ATTRIBUTE. Defaults to SERVER_SCOPE. | [optional] | +| key | String | Attribute or latest telemetry key to read. | [optional] | +| defaultValue | String | Optional fallback value used when the source has no value for the key. | [optional] | +| format | AgentAppArgumentFormat | How the resolved value is injected into the compose: STRING (quoted) or JSON (raw, for arrays/objects/numbers when the placeholder is the whole value). Defaults to STRING. | [optional] | + +#### AgentAppConfigType (enum) +`DOCKER_COMPOSE` + +#### AgentAppArgumentSource (enum) +`AGENT` | `OWNER` | `RELATED_ENTITY` | `TENANT` | `DEVICE` | `ASSET` | `CUSTOMER` | `EDGE` + +#### AgentAppArgumentValueType (enum) +`ATTRIBUTE` | `LATEST_TELEMETRY` + +#### AttributeScope (enum) +`CLIENT_SCOPE` | `SERVER_SCOPE` | `SHARED_SCOPE` + +#### AgentAppArgumentFormat (enum) +`STRING` | `JSON` + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/PageDataAgentBulkAction.md b/pe/docs/PageDataAgentBulkAction.md new file mode 100644 index 00000000..0c32177a --- /dev/null +++ b/pe/docs/PageDataAgentBulkAction.md @@ -0,0 +1,54 @@ + +# PageDataAgentBulkAction + +`org.thingsboard.client.model.PageDataAgentBulkAction` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **data** | **List\** | Array of the entities | [optional] | +| **totalPages** | **Integer** | Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria | [optional] [readonly] | +| **totalElements** | **Long** | Total number of elements in all available pages | [optional] [readonly] | +| **hasNext** | **Boolean** | 'false' value indicates the end of the result set | [optional] [readonly] | + + + +## Referenced Types + +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. + +#### AgentBulkAction +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| id | AgentBulkActionId | JSON object with the Agent Bulk Action Id. | [optional] | +| createdTime | Long | Timestamp of the bulk action creation, in milliseconds | [optional] [readonly] | +| tenantId | TenantId | | [optional] | +| agentProfileId | UUID | | [optional] | +| applicationProfileId | UUID | | [optional] | +| actionType | AgentAppEventActionType | | [optional] | +| status | AgentBulkActionStatus | | [optional] | +| errorMsg | String | | [optional] | +| processingStartedTime | Long | | [optional] | +| total | Integer | | [optional] | +| submitted | Integer | | [optional] | +| skipCounts | Map | | [optional] | + +#### AgentAppEventActionType (enum) +`INSTALL` | `UPDATE` | `DELETE` | `RESTART` | `ROLLBACK` | `UPGRADE` | `AGENT_UPGRADE` + +#### AgentBulkActionStatus (enum) +`QUEUED` | `IN_PROGRESS` | `STARTED` | `START_FAILED` + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/PageDataAgentInfo.md b/pe/docs/PageDataAgentInfo.md new file mode 100644 index 00000000..520e1649 --- /dev/null +++ b/pe/docs/PageDataAgentInfo.md @@ -0,0 +1,62 @@ + +# PageDataAgentInfo + +`org.thingsboard.client.model.PageDataAgentInfo` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **data** | **List\** | Array of the entities | [optional] | +| **totalPages** | **Integer** | Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria | [optional] [readonly] | +| **totalElements** | **Long** | Total number of elements in all available pages | [optional] [readonly] | +| **hasNext** | **Boolean** | 'false' value indicates the end of the result set | [optional] [readonly] | + + + +## Referenced Types + +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. + +#### AgentInfo +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| id | AgentId | JSON object with the Agent Id. Specify this field to update the Agent. Referencing non-existing Agent Id will cause error. Omit this field to create new Agent. | [optional] | +| createdTime | Long | Timestamp of the agent creation, in milliseconds | [optional] [readonly] | +| additionalInfo | com.fasterxml.jackson.databind.JsonNode | | [optional] | +| tenantId | TenantId | JSON object with Tenant Id. Use 'assignAgentToTenant' to change the Tenant Id. | [optional] [readonly] | +| customerId | CustomerId | JSON object with Customer Id. | [optional] [readonly] | +| name | String | Unique Agent Name in scope of Tenant | | +| description | String | Agent description | [optional] | +| routingKey | String | Agent routing key used for authentication | | +| secret | String | Agent secret used for authentication | | +| agentProfileId | AgentProfileId | JSON object with Agent Profile Id. Nullable. | [optional] | +| version | Long | | [optional] | +| customerTitle | String | Title of the Customer that owns the agent. | [optional] [readonly] | +| customerIsPublic | Boolean | Indicates special 'Public' Customer that is auto-generated to use the agents on public dashboards. | [optional] [readonly] | +| agentProfileName | String | Name of the Agent Profile the agent belongs to. | [optional] [readonly] | +| ownerName | String | Owner name — tenant title if the agent is owned by a tenant, or customer title otherwise. | [optional] [readonly] | +| groups | List | Entity groups that contain this agent (excluding the implicit 'All' group). | [optional] | +| active | Boolean | Whether the agent currently has an active connection (derived from server-scope 'active' attribute). | [optional] [readonly] | +| agentVersion | String | Agent software version reported on the last connect (derived from server-scope 'agentVersion' attribute). | [optional] [readonly] | +| upgradeTargetImageRef | String | Image reference this agent should be upgraded to, or null when no upgrade applies. Resolved from the published version graph. | [optional] [readonly] | +| ownerId | EntityId | JSON object with Customer or Tenant Id | [optional] [readonly] | + +#### EntityInfo +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| id | EntityId | JSON object with the entity Id. | [optional] | +| name | String | Entity Name | [optional] | + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/PageDataAgentProfile.md b/pe/docs/PageDataAgentProfile.md new file mode 100644 index 00000000..dc843710 --- /dev/null +++ b/pe/docs/PageDataAgentProfile.md @@ -0,0 +1,49 @@ + +# PageDataAgentProfile + +`org.thingsboard.client.model.PageDataAgentProfile` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **data** | **List\** | Array of the entities | [optional] | +| **totalPages** | **Integer** | Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria | [optional] [readonly] | +| **totalElements** | **Long** | Total number of elements in all available pages | [optional] [readonly] | +| **hasNext** | **Boolean** | 'false' value indicates the end of the result set | [optional] [readonly] | + + + +## Referenced Types + +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. + +#### AgentProfile +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| id | AgentProfileId | JSON object with the Agent Profile Id. | [optional] | +| createdTime | Long | Timestamp of the profile creation, in milliseconds | [optional] [readonly] | +| tenantId | TenantId | JSON object with Tenant Id. | [optional] [readonly] | +| name | String | Unique profile name within tenant | | +| description | String | Profile description | [optional] | +| provisionKey | String | Provision key for future auto-provisioning | [optional] | +| provisionSecret | String | Provision secret for future auto-provisioning | [optional] | +| provisionType | AgentProvisionType | Provisioning strategy. DISABLED by default. | [optional] | +| version | Long | | [optional] | +| _default | Boolean | Used to mark the default profile that will be assigned to agents when no profile is specified. | [optional] | + +#### AgentProvisionType (enum) +`DISABLED` | `NO_AUTO_INSTALL` | `AUTO_INSTALL_PER_APP_TYPE` | `AUTO_INSTALL_PER_APP_PROFILE` + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/PageDataAgentProfileInfo.md b/pe/docs/PageDataAgentProfileInfo.md new file mode 100644 index 00000000..5f5ed4af --- /dev/null +++ b/pe/docs/PageDataAgentProfileInfo.md @@ -0,0 +1,49 @@ + +# PageDataAgentProfileInfo + +`org.thingsboard.client.model.PageDataAgentProfileInfo` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **data** | **List\** | Array of the entities | [optional] | +| **totalPages** | **Integer** | Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria | [optional] [readonly] | +| **totalElements** | **Long** | Total number of elements in all available pages | [optional] [readonly] | +| **hasNext** | **Boolean** | 'false' value indicates the end of the result set | [optional] [readonly] | + + + +## Referenced Types + +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. + +#### AgentProfileInfo +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| id | AgentProfileId | JSON object with the Agent Profile Id. | [optional] | +| createdTime | Long | Timestamp of the profile creation, in milliseconds | [optional] [readonly] | +| tenantId | TenantId | JSON object with Tenant Id. | [optional] [readonly] | +| name | String | Unique profile name within tenant | | +| description | String | Profile description | [optional] | +| provisionKey | String | Provision key for future auto-provisioning | [optional] | +| provisionSecret | String | Provision secret for future auto-provisioning | [optional] | +| provisionType | AgentProvisionType | Provisioning strategy. DISABLED by default. | [optional] | +| version | Long | | [optional] | +| _default | Boolean | Used to mark the default profile that will be assigned to agents when no profile is specified. | [optional] | + +#### AgentProvisionType (enum) +`DISABLED` | `NO_AUTO_INSTALL` | `AUTO_INSTALL_PER_APP_TYPE` | `AUTO_INSTALL_PER_APP_PROFILE` + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/PageDataAiModel.md b/pe/docs/PageDataAiModel.md index 6cbfb5bb..3b249f4d 100644 --- a/pe/docs/PageDataAiModel.md +++ b/pe/docs/PageDataAiModel.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### AiModel | Name | Type | Description | Notes | @@ -159,7 +159,7 @@ | modelType | AiModelType | | [optional] [readonly] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### OpenAiProviderConfig | Name | Type | Description | Notes | diff --git a/pe/docs/PageDataAlarmCommentInfo.md b/pe/docs/PageDataAlarmCommentInfo.md index c5333544..cb0998ad 100644 --- a/pe/docs/PageDataAlarmCommentInfo.md +++ b/pe/docs/PageDataAlarmCommentInfo.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### AlarmCommentInfo | Name | Type | Description | Notes | @@ -41,7 +41,7 @@ `SYSTEM` | `OTHER` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataAlarmData.md b/pe/docs/PageDataAlarmData.md index 9f0f21ea..1d215d15 100644 --- a/pe/docs/PageDataAlarmData.md +++ b/pe/docs/PageDataAlarmData.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### AlarmData | Name | Type | Description | Notes | @@ -73,7 +73,7 @@ `ACTIVE_UNACK` | `ACTIVE_ACK` | `CLEARED_UNACK` | `CLEARED_ACK` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataAlarmInfo.md b/pe/docs/PageDataAlarmInfo.md index 4c1c8c8b..e38b210c 100644 --- a/pe/docs/PageDataAlarmInfo.md +++ b/pe/docs/PageDataAlarmInfo.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### AlarmInfo | Name | Type | Description | Notes | @@ -64,7 +64,7 @@ `ACTIVE_UNACK` | `ACTIVE_ACK` | `CLEARED_UNACK` | `CLEARED_ACK` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataAlarmRuleDefinition.md b/pe/docs/PageDataAlarmRuleDefinition.md index a62f9e87..eb47d844 100644 --- a/pe/docs/PageDataAlarmRuleDefinition.md +++ b/pe/docs/PageDataAlarmRuleDefinition.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### AlarmRuleDefinition | Name | Type | Description | Notes | @@ -41,7 +41,7 @@ | allEnabledUntil | Long | Timestamp of the end time for the processing debug events. | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### CalculatedFieldConfiguration | Name | Type | Description | Notes | diff --git a/pe/docs/PageDataAlarmRuleDefinitionInfo.md b/pe/docs/PageDataAlarmRuleDefinitionInfo.md index dde9c11e..42d918e5 100644 --- a/pe/docs/PageDataAlarmRuleDefinitionInfo.md +++ b/pe/docs/PageDataAlarmRuleDefinitionInfo.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### AlarmRuleDefinitionInfo | Name | Type | Description | Notes | @@ -42,7 +42,7 @@ | allEnabledUntil | Long | Timestamp of the end time for the processing debug events. | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### CalculatedFieldConfiguration | Name | Type | Description | Notes | diff --git a/pe/docs/PageDataApiKeyInfo.md b/pe/docs/PageDataApiKeyInfo.md index a8209896..101b2199 100644 --- a/pe/docs/PageDataApiKeyInfo.md +++ b/pe/docs/PageDataApiKeyInfo.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### ApiKeyInfo | Name | Type | Description | Notes | @@ -31,7 +31,7 @@ | expired | Boolean | Indicates if the API key is expired based on current time. Returns false if expirationTime is 0 (no expiry). | [optional] [readonly] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataAsset.md b/pe/docs/PageDataAsset.md index 47d8dcf1..0cfa00b3 100644 --- a/pe/docs/PageDataAsset.md +++ b/pe/docs/PageDataAsset.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### Asset | Name | Type | Description | Notes | @@ -34,7 +34,7 @@ | ownerId | EntityId | JSON object with Customer or Tenant Id | [optional] [readonly] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataAssetInfo.md b/pe/docs/PageDataAssetInfo.md index bbef8c6a..02ada2d0 100644 --- a/pe/docs/PageDataAssetInfo.md +++ b/pe/docs/PageDataAssetInfo.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### AssetInfo | Name | Type | Description | Notes | @@ -42,7 +42,7 @@ | name | String | Entity Name | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataAssetProfile.md b/pe/docs/PageDataAssetProfile.md index 09de1280..3e120970 100644 --- a/pe/docs/PageDataAssetProfile.md +++ b/pe/docs/PageDataAssetProfile.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### AssetProfile | Name | Type | Description | Notes | @@ -35,7 +35,7 @@ | _default | Boolean | Used to mark the default profile. Default profile is used when the asset profile is not specified during asset creation. | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataAssetProfileInfo.md b/pe/docs/PageDataAssetProfileInfo.md index ecab211e..ecd62de0 100644 --- a/pe/docs/PageDataAssetProfileInfo.md +++ b/pe/docs/PageDataAssetProfileInfo.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### AssetProfileInfo | Name | Type | Description | Notes | @@ -28,7 +28,7 @@ | tenantId | TenantId | Tenant id. | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataAuditLog.md b/pe/docs/PageDataAuditLog.md index 74c0523f..3e739788 100644 --- a/pe/docs/PageDataAuditLog.md +++ b/pe/docs/PageDataAuditLog.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### AuditLog | Name | Type | Description | Notes | @@ -46,7 +46,7 @@ `SUCCESS` | `FAILURE` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataBlobEntityWithCustomerInfo.md b/pe/docs/PageDataBlobEntityWithCustomerInfo.md index 521521fe..3a810b70 100644 --- a/pe/docs/PageDataBlobEntityWithCustomerInfo.md +++ b/pe/docs/PageDataBlobEntityWithCustomerInfo.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### BlobEntityWithCustomerInfo | Name | Type | Description | Notes | @@ -34,7 +34,7 @@ | ownerId | EntityId | JSON object with Customer or Tenant Id | [optional] [readonly] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataCalculatedField.md b/pe/docs/PageDataCalculatedField.md index 47abffc6..2962c4c1 100644 --- a/pe/docs/PageDataCalculatedField.md +++ b/pe/docs/PageDataCalculatedField.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### CalculatedField | Name | Type | Description | Notes | @@ -112,7 +112,7 @@ | useLatestTs | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### Output | Name | Type | Description | Notes | diff --git a/pe/docs/PageDataCalculatedFieldInfo.md b/pe/docs/PageDataCalculatedFieldInfo.md index beb4bed8..5cb6f923 100644 --- a/pe/docs/PageDataCalculatedFieldInfo.md +++ b/pe/docs/PageDataCalculatedFieldInfo.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### CalculatedFieldInfo | Name | Type | Description | Notes | @@ -113,7 +113,7 @@ | useLatestTs | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### Output | Name | Type | Description | Notes | diff --git a/pe/docs/PageDataConverter.md b/pe/docs/PageDataConverter.md index 87320316..5a546fa1 100644 --- a/pe/docs/PageDataConverter.md +++ b/pe/docs/PageDataConverter.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### Converter | Name | Type | Description | Notes | @@ -49,7 +49,7 @@ | allEnabledUntil | Long | Timestamp of the end time for the processing debug events. | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataCustomMenuInfo.md b/pe/docs/PageDataCustomMenuInfo.md index db6f9ea6..67dce539 100644 --- a/pe/docs/PageDataCustomMenuInfo.md +++ b/pe/docs/PageDataCustomMenuInfo.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### CustomMenuInfo | Name | Type | Description | Notes | @@ -42,7 +42,7 @@ `NO_ASSIGN` | `ALL` | `CUSTOMERS` | `USERS` | `USER_GROUPS` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataCustomer.md b/pe/docs/PageDataCustomer.md index 1ae878f5..ababe1e8 100644 --- a/pe/docs/PageDataCustomer.md +++ b/pe/docs/PageDataCustomer.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### Customer | Name | Type | Description | Notes | @@ -47,7 +47,7 @@ | id | UUID | string | | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataCustomerInfo.md b/pe/docs/PageDataCustomerInfo.md index ee83a47f..cc1a9278 100644 --- a/pe/docs/PageDataCustomerInfo.md +++ b/pe/docs/PageDataCustomerInfo.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### CustomerInfo | Name | Type | Description | Notes | @@ -55,7 +55,7 @@ | name | String | Entity Name | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataDashboardInfo.md b/pe/docs/PageDataDashboardInfo.md index 42af2a42..5f0fe490 100644 --- a/pe/docs/PageDataDashboardInfo.md +++ b/pe/docs/PageDataDashboardInfo.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### DashboardInfo | Name | Type | Description | Notes | @@ -67,7 +67,7 @@ | name | String | Entity Name | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### ResourceType (enum) `LWM2_M_MODEL` | `JKS` | `PKCS_12` | `JS_MODULE` | `IMAGE` | `DASHBOARD` | `GENERAL` diff --git a/pe/docs/PageDataDevice.md b/pe/docs/PageDataDevice.md index be3f3c5f..16ec466b 100644 --- a/pe/docs/PageDataDevice.md +++ b/pe/docs/PageDataDevice.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### Device | Name | Type | Description | Notes | @@ -94,7 +94,7 @@ | engineId | String | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### DeviceProfileType (enum) `DEFAULT` diff --git a/pe/docs/PageDataDeviceInfo.md b/pe/docs/PageDataDeviceInfo.md index bd75a36f..f2760bc0 100644 --- a/pe/docs/PageDataDeviceInfo.md +++ b/pe/docs/PageDataDeviceInfo.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### DeviceInfo | Name | Type | Description | Notes | @@ -103,7 +103,7 @@ | engineId | String | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### DeviceProfileType (enum) `DEFAULT` diff --git a/pe/docs/PageDataDeviceProfile.md b/pe/docs/PageDataDeviceProfile.md index bba6fb58..7840dc4c 100644 --- a/pe/docs/PageDataDeviceProfile.md +++ b/pe/docs/PageDataDeviceProfile.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### DeviceProfile | Name | Type | Description | Notes | @@ -127,7 +127,7 @@ | allowCreateNewDevicesByX509Certificate | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### TransportPayloadTypeConfiguration | Name | Type | Description | Notes | diff --git a/pe/docs/PageDataDeviceProfileInfo.md b/pe/docs/PageDataDeviceProfileInfo.md index 87cd06da..598cee7d 100644 --- a/pe/docs/PageDataDeviceProfileInfo.md +++ b/pe/docs/PageDataDeviceProfileInfo.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### DeviceProfileInfo | Name | Type | Description | Notes | @@ -36,7 +36,7 @@ `DEFAULT` | `MQTT` | `COAP` | `LWM2_M` | `SNMP` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataDomainInfo.md b/pe/docs/PageDataDomainInfo.md index 14bbea0a..6c315587 100644 --- a/pe/docs/PageDataDomainInfo.md +++ b/pe/docs/PageDataDomainInfo.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### DomainInfo | Name | Type | Description | Notes | @@ -45,7 +45,7 @@ `WEB` | `ANDROID` | `IOS` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataEdge.md b/pe/docs/PageDataEdge.md index 6da79107..4ceeaf37 100644 --- a/pe/docs/PageDataEdge.md +++ b/pe/docs/PageDataEdge.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### Edge | Name | Type | Description | Notes | @@ -38,7 +38,7 @@ | ownerId | EntityId | | [optional] [readonly] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataEdgeEvent.md b/pe/docs/PageDataEdgeEvent.md index 6b6b104a..6f530cb3 100644 --- a/pe/docs/PageDataEdgeEvent.md +++ b/pe/docs/PageDataEdgeEvent.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EdgeEvent | Name | Type | Description | Notes | @@ -45,7 +45,7 @@ `DASHBOARD` | `ASSET` | `DEVICE` | `DEVICE_PROFILE` | `ASSET_PROFILE` | `ENTITY_VIEW` | `ALARM` | `ALARM_COMMENT` | `RULE_CHAIN` | `RULE_CHAIN_METADATA` | … (45 values total) #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataEdgeInfo.md b/pe/docs/PageDataEdgeInfo.md index 44cbe2e4..625b103f 100644 --- a/pe/docs/PageDataEdgeInfo.md +++ b/pe/docs/PageDataEdgeInfo.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EdgeInfo | Name | Type | Description | Notes | @@ -46,7 +46,7 @@ | name | String | Entity Name | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataEntityData.md b/pe/docs/PageDataEntityData.md index e3603f45..1ffb52c2 100644 --- a/pe/docs/PageDataEntityData.md +++ b/pe/docs/PageDataEntityData.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityData | Name | Type | Description | Notes | @@ -42,7 +42,7 @@ | previous | TsValue | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataEntityGroupInfo.md b/pe/docs/PageDataEntityGroupInfo.md index 752d22da..b6983419 100644 --- a/pe/docs/PageDataEntityGroupInfo.md +++ b/pe/docs/PageDataEntityGroupInfo.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityGroupInfo | Name | Type | Description | Notes | @@ -35,7 +35,7 @@ | tenantId | TenantId | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataEntityInfo.md b/pe/docs/PageDataEntityInfo.md index 225247b5..6a253910 100644 --- a/pe/docs/PageDataEntityInfo.md +++ b/pe/docs/PageDataEntityInfo.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityInfo | Name | Type | Description | Notes | @@ -25,7 +25,7 @@ | name | String | Entity Name | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataEntitySubtype.md b/pe/docs/PageDataEntitySubtype.md index f3e61c36..7847f9ef 100644 --- a/pe/docs/PageDataEntitySubtype.md +++ b/pe/docs/PageDataEntitySubtype.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntitySubtype | Name | Type | Description | Notes | @@ -26,7 +26,7 @@ | type | String | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataEntityView.md b/pe/docs/PageDataEntityView.md index be3739f5..8329ee2c 100644 --- a/pe/docs/PageDataEntityView.md +++ b/pe/docs/PageDataEntityView.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityView | Name | Type | Description | Notes | @@ -42,7 +42,7 @@ | attributes | AttributesEntityView | JSON object with attributes to expose | | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### AttributesEntityView | Name | Type | Description | Notes | diff --git a/pe/docs/PageDataEntityViewInfo.md b/pe/docs/PageDataEntityViewInfo.md index d8fbe927..bbfa5ab8 100644 --- a/pe/docs/PageDataEntityViewInfo.md +++ b/pe/docs/PageDataEntityViewInfo.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityViewInfo | Name | Type | Description | Notes | @@ -50,7 +50,7 @@ | name | String | Entity Name | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### AttributesEntityView | Name | Type | Description | Notes | diff --git a/pe/docs/PageDataEventInfo.md b/pe/docs/PageDataEventInfo.md index cb19b7c1..d7252e32 100644 --- a/pe/docs/PageDataEventInfo.md +++ b/pe/docs/PageDataEventInfo.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EventInfo | Name | Type | Description | Notes | @@ -35,7 +35,7 @@ | id | UUID | string | | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataIntegration.md b/pe/docs/PageDataIntegration.md index 0c9cdf2d..5438efe9 100644 --- a/pe/docs/PageDataIntegration.md +++ b/pe/docs/PageDataIntegration.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### Integration | Name | Type | Description | Notes | @@ -51,7 +51,7 @@ | allEnabledUntil | Long | Timestamp of the end time for the processing debug events. | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataIntegrationInfo.md b/pe/docs/PageDataIntegrationInfo.md index 990dbd7e..29bd7d61 100644 --- a/pe/docs/PageDataIntegrationInfo.md +++ b/pe/docs/PageDataIntegrationInfo.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### IntegrationInfo | Name | Type | Description | Notes | @@ -47,7 +47,7 @@ | allEnabledUntil | Long | Timestamp of the end time for the processing debug events. | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataJob.md b/pe/docs/PageDataJob.md index 52ff9109..c47d672e 100644 --- a/pe/docs/PageDataJob.md +++ b/pe/docs/PageDataJob.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### Job | Name | Type | Description | Notes | @@ -110,7 +110,7 @@ | report | Report | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### TaskResult | Name | Type | Description | Notes | diff --git a/pe/docs/PageDataMobileApp.md b/pe/docs/PageDataMobileApp.md index 5c4e875b..a0594715 100644 --- a/pe/docs/PageDataMobileApp.md +++ b/pe/docs/PageDataMobileApp.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### MobileApp | Name | Type | Description | Notes | @@ -55,7 +55,7 @@ | storeLink | String | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataMobileAppBundleInfo.md b/pe/docs/PageDataMobileAppBundleInfo.md index f3d517ef..242955bf 100644 --- a/pe/docs/PageDataMobileAppBundleInfo.md +++ b/pe/docs/PageDataMobileAppBundleInfo.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### MobileAppBundleInfo | Name | Type | Description | Notes | @@ -128,7 +128,7 @@ `WEB` | `ANDROID` | `IOS` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### MobilePageType (enum) `DEFAULT` | `DASHBOARD` | `WEB_VIEW` | `CUSTOM` diff --git a/pe/docs/PageDataNotification.md b/pe/docs/PageDataNotification.md index 554bfc17..f033afbb 100644 --- a/pe/docs/PageDataNotification.md +++ b/pe/docs/PageDataNotification.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### Notification | Name | Type | Description | Notes | @@ -50,7 +50,7 @@ `SENT` | `READ` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataNotificationRequestInfo.md b/pe/docs/PageDataNotificationRequestInfo.md index 16d299a0..99457cf6 100644 --- a/pe/docs/PageDataNotificationRequestInfo.md +++ b/pe/docs/PageDataNotificationRequestInfo.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### NotificationRequestInfo | Name | Type | Description | Notes | @@ -88,7 +88,7 @@ | makePublic | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### DeliveryMethodNotificationTemplate | Name | Type | Description | Notes | diff --git a/pe/docs/PageDataNotificationRuleInfo.md b/pe/docs/PageDataNotificationRuleInfo.md index dc835d80..40ca270d 100644 --- a/pe/docs/PageDataNotificationRuleInfo.md +++ b/pe/docs/PageDataNotificationRuleInfo.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### NotificationRuleInfo | Name | Type | Description | Notes | @@ -230,7 +230,7 @@ `WEB` | `EMAIL` | `SMS` | `SLACK` | `MICROSOFT_TEAMS` | `MOBILE_APP` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### AlarmSeverity (enum) `CRITICAL` | `MAJOR` | `MINOR` | `WARNING` | `INDETERMINATE` @@ -262,7 +262,7 @@ `ENABLED` | `WARNING` | `DISABLED` #### LimitedApi (enum) -`ENTITY_EXPORT` | `ENTITY_IMPORT` | `NOTIFICATION_REQUESTS` | `NOTIFICATION_REQUESTS_PER_RULE` | `REST_REQUESTS_PER_TENANT` | `REST_REQUESTS_PER_CUSTOMER` | `WS_UPDATES_PER_SESSION` | `CASSANDRA_WRITE_QUERIES_CORE` | `CASSANDRA_READ_QUERIES_CORE` | `CASSANDRA_WRITE_QUERIES_RULE_ENGINE` | … (36 values total) +`ENTITY_EXPORT` | `ENTITY_IMPORT` | `NOTIFICATION_REQUESTS` | `NOTIFICATION_REQUESTS_PER_RULE` | `REST_REQUESTS_PER_TENANT` | `REST_REQUESTS_PER_CUSTOMER` | `WS_UPDATES_PER_SESSION` | `CASSANDRA_WRITE_QUERIES_CORE` | `CASSANDRA_READ_QUERIES_CORE` | `CASSANDRA_WRITE_QUERIES_RULE_ENGINE` | … (40 values total) #### EdgeConnectivityEvent (enum) `CONNECTED` | `DISCONNECTED` diff --git a/pe/docs/PageDataNotificationTarget.md b/pe/docs/PageDataNotificationTarget.md index bd0f0c50..37f495d7 100644 --- a/pe/docs/PageDataNotificationTarget.md +++ b/pe/docs/PageDataNotificationTarget.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### NotificationTarget | Name | Type | Description | Notes | @@ -57,7 +57,7 @@ | conversation | SlackConversation | | | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### UsersFilter | Name | Type | Description | Notes | diff --git a/pe/docs/PageDataNotificationTemplate.md b/pe/docs/PageDataNotificationTemplate.md index a6595c7b..c94c71e9 100644 --- a/pe/docs/PageDataNotificationTemplate.md +++ b/pe/docs/PageDataNotificationTemplate.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### NotificationTemplate | Name | Type | Description | Notes | @@ -79,7 +79,7 @@ | additionalConfig | com.fasterxml.jackson.databind.JsonNode | Additional JSON configuration for web buttons/actions | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### Button | Name | Type | Description | Notes | diff --git a/pe/docs/PageDataOAuth2ClientInfo.md b/pe/docs/PageDataOAuth2ClientInfo.md index 8aa1c052..0ce4adcf 100644 --- a/pe/docs/PageDataOAuth2ClientInfo.md +++ b/pe/docs/PageDataOAuth2ClientInfo.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### OAuth2ClientInfo | Name | Type | Description | Notes | @@ -32,7 +32,7 @@ `WEB` | `ANDROID` | `IOS` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataOtaPackageInfo.md b/pe/docs/PageDataOtaPackageInfo.md index 5aaf82eb..384689b8 100644 --- a/pe/docs/PageDataOtaPackageInfo.md +++ b/pe/docs/PageDataOtaPackageInfo.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### OtaPackageInfo | Name | Type | Description | Notes | @@ -46,7 +46,7 @@ `MD5` | `SHA256` | `SHA384` | `SHA512` | `CRC32` | `MURMUR3_32` | `MURMUR3_128` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataQueue.md b/pe/docs/PageDataQueue.md index 24a0f9a3..91855254 100644 --- a/pe/docs/PageDataQueue.md +++ b/pe/docs/PageDataQueue.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### Queue | Name | Type | Description | Notes | @@ -56,7 +56,7 @@ `SKIP_ALL_FAILURES` | `SKIP_ALL_FAILURES_AND_TIMED_OUT` | `RETRY_ALL` | `RETRY_FAILED` | `RETRY_TIMED_OUT` | `RETRY_FAILED_AND_TIMED_OUT` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataQueueStats.md b/pe/docs/PageDataQueueStats.md index c373a412..6aa56ade 100644 --- a/pe/docs/PageDataQueueStats.md +++ b/pe/docs/PageDataQueueStats.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### QueueStats | Name | Type | Description | Notes | @@ -28,7 +28,7 @@ | serviceId | String | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataReport.md b/pe/docs/PageDataReport.md index dd2417c4..a93b9f0e 100644 --- a/pe/docs/PageDataReport.md +++ b/pe/docs/PageDataReport.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### Report | Name | Type | Description | Notes | @@ -37,7 +37,7 @@ `PDF` | `CSV` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataReportInfo.md b/pe/docs/PageDataReportInfo.md index fb552f33..19ce41d9 100644 --- a/pe/docs/PageDataReportInfo.md +++ b/pe/docs/PageDataReportInfo.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### ReportInfo | Name | Type | Description | Notes | @@ -46,7 +46,7 @@ | name | String | Entity Name | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataReportTemplateInfo.md b/pe/docs/PageDataReportTemplateInfo.md index 34084de4..93df9abe 100644 --- a/pe/docs/PageDataReportTemplateInfo.md +++ b/pe/docs/PageDataReportTemplateInfo.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### ReportTemplateInfo | Name | Type | Description | Notes | @@ -40,7 +40,7 @@ `REPORT` | `SUB_REPORT` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataRole.md b/pe/docs/PageDataRole.md index 7473eb17..d41be83f 100644 --- a/pe/docs/PageDataRole.md +++ b/pe/docs/PageDataRole.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### Role | Name | Type | Description | Notes | @@ -37,7 +37,7 @@ `GENERIC` | `GROUP` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataRuleChain.md b/pe/docs/PageDataRuleChain.md index 56e47e18..b3cbcf10 100644 --- a/pe/docs/PageDataRuleChain.md +++ b/pe/docs/PageDataRuleChain.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### RuleChain | Name | Type | Description | Notes | @@ -37,7 +37,7 @@ `CORE` | `EDGE` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataScheduledReportInfo.md b/pe/docs/PageDataScheduledReportInfo.md index a3b918fb..aa8621d3 100644 --- a/pe/docs/PageDataScheduledReportInfo.md +++ b/pe/docs/PageDataScheduledReportInfo.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### ScheduledReportInfo | Name | Type | Description | Notes | @@ -44,7 +44,7 @@ | name | String | Entity Name | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataSchedulerEventInfo.md b/pe/docs/PageDataSchedulerEventInfo.md index 1cbc1233..f57d062c 100644 --- a/pe/docs/PageDataSchedulerEventInfo.md +++ b/pe/docs/PageDataSchedulerEventInfo.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### SchedulerEventInfo | Name | Type | Description | Notes | @@ -35,7 +35,7 @@ | ownerId | EntityId | JSON object with Customer or Tenant Id | [optional] [readonly] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataSchedulerEventWithCustomerInfo.md b/pe/docs/PageDataSchedulerEventWithCustomerInfo.md index 90e1217a..edb6b7b3 100644 --- a/pe/docs/PageDataSchedulerEventWithCustomerInfo.md +++ b/pe/docs/PageDataSchedulerEventWithCustomerInfo.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### SchedulerEventWithCustomerInfo | Name | Type | Description | Notes | @@ -38,7 +38,7 @@ | ownerId | EntityId | JSON object with Customer or Tenant Id | [optional] [readonly] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataSecretInfo.md b/pe/docs/PageDataSecretInfo.md index 4adfbe82..2a9fb9df 100644 --- a/pe/docs/PageDataSecretInfo.md +++ b/pe/docs/PageDataSecretInfo.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### SecretInfo | Name | Type | Description | Notes | @@ -32,7 +32,7 @@ `TEXT` | `TEXT_FILE` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataShortEntityView.md b/pe/docs/PageDataShortEntityView.md index 4b5c18a7..f88ffa08 100644 --- a/pe/docs/PageDataShortEntityView.md +++ b/pe/docs/PageDataShortEntityView.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### ShortEntityView | Name | Type | Description | Notes | @@ -25,7 +25,7 @@ | name | String | Name of the entity | [readonly] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataTbResourceInfo.md b/pe/docs/PageDataTbResourceInfo.md index 951da889..73389ecc 100644 --- a/pe/docs/PageDataTbResourceInfo.md +++ b/pe/docs/PageDataTbResourceInfo.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### TbResourceInfo | Name | Type | Description | Notes | @@ -45,7 +45,7 @@ `IMAGE` | `SCADA_SYMBOL` | `EXTENSION` | `MODULE` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataTenant.md b/pe/docs/PageDataTenant.md index 57d9ff26..58dee3ae 100644 --- a/pe/docs/PageDataTenant.md +++ b/pe/docs/PageDataTenant.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### Tenant | Name | Type | Description | Notes | @@ -39,7 +39,7 @@ | name | String | Name of the tenant. Read-only, duplicated from title for backward compatibility | [optional] [readonly] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataTenantInfo.md b/pe/docs/PageDataTenantInfo.md index 14654e43..cf1de820 100644 --- a/pe/docs/PageDataTenantInfo.md +++ b/pe/docs/PageDataTenantInfo.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### TenantInfo | Name | Type | Description | Notes | @@ -40,7 +40,7 @@ | name | String | Name of the tenant. Read-only, duplicated from title for backward compatibility | [optional] [readonly] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataTenantProfile.md b/pe/docs/PageDataTenantProfile.md index 87cc24d2..26fcb9cb 100644 --- a/pe/docs/PageDataTenantProfile.md +++ b/pe/docs/PageDataTenantProfile.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### TenantProfile | Name | Type | Description | Notes | @@ -110,6 +110,10 @@ | edgeEventRateLimitsPerEdge | String | | [optional] | | edgeUplinkMessagesRateLimits | String | | [optional] | | edgeUplinkMessagesRateLimitsPerEdge | String | | [optional] | +| agentEventRateLimits | String | | [optional] | +| agentEventRateLimitsPerAgent | String | | [optional] | +| agentLogChunkRateLimits | String | | [optional] | +| agentLogChunkRateLimitsPerAgent | String | | [optional] | | defaultStorageTtlDays | Integer | | [optional] | | alarmsTtlDays | Integer | | [optional] | | rpcTtlDays | Integer | | [optional] | @@ -147,7 +151,7 @@ | additionalInfo | com.fasterxml.jackson.databind.JsonNode | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### SubmitStrategy | Name | Type | Description | Notes | diff --git a/pe/docs/PageDataUser.md b/pe/docs/PageDataUser.md index f2b1cc90..43bb7183 100644 --- a/pe/docs/PageDataUser.md +++ b/pe/docs/PageDataUser.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### User | Name | Type | Description | Notes | @@ -45,7 +45,7 @@ | id | UUID | string | | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataUserEmailInfo.md b/pe/docs/PageDataUserEmailInfo.md index e6dde6fd..c06aace1 100644 --- a/pe/docs/PageDataUserEmailInfo.md +++ b/pe/docs/PageDataUserEmailInfo.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### UserEmailInfo | Name | Type | Description | Notes | @@ -27,7 +27,7 @@ | lastName | String | User last name | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataUserInfo.md b/pe/docs/PageDataUserInfo.md index 85a40608..d2002a9f 100644 --- a/pe/docs/PageDataUserInfo.md +++ b/pe/docs/PageDataUserInfo.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### UserInfo | Name | Type | Description | Notes | @@ -53,7 +53,7 @@ | name | String | Entity Name | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataWidgetTypeInfo.md b/pe/docs/PageDataWidgetTypeInfo.md index bb502a02..c563f604 100644 --- a/pe/docs/PageDataWidgetTypeInfo.md +++ b/pe/docs/PageDataWidgetTypeInfo.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### WidgetTypeInfo | Name | Type | Description | Notes | @@ -42,7 +42,7 @@ | name | String | Entity Name | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PageDataWidgetsBundle.md b/pe/docs/PageDataWidgetsBundle.md index a263b589..1436101c 100644 --- a/pe/docs/PageDataWidgetsBundle.md +++ b/pe/docs/PageDataWidgetsBundle.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### WidgetsBundle | Name | Type | Description | Notes | @@ -34,7 +34,7 @@ | name | String | Same as title of the Widget Bundle. Read-only field. Update the 'title' to change the 'name' of the Widget Bundle. | [optional] [readonly] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/PdfReportTemplateConfig.md b/pe/docs/PdfReportTemplateConfig.md index 56c0200a..7672b5bc 100644 --- a/pe/docs/PdfReportTemplateConfig.md +++ b/pe/docs/PdfReportTemplateConfig.md @@ -20,7 +20,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### ReportTemplateConfig | Name | Type | Description | Notes | @@ -633,7 +633,7 @@ | id | UUID | ID of the entity, time-based UUID v1 | | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### EntitySearchDirection (enum) `FROM` | `TO` diff --git a/pe/docs/ProcessingStartStatus.md b/pe/docs/ProcessingStartStatus.md new file mode 100644 index 00000000..1846b051 --- /dev/null +++ b/pe/docs/ProcessingStartStatus.md @@ -0,0 +1,25 @@ + +# ProcessingStartStatus + +`org.thingsboard.client.model.ProcessingStartStatus` + +## Enum Values + + +* `DELIVERY_FAIL` (value: `"DELIVERY_FAIL"`) + +* `PENDING` (value: `"PENDING"`) + +* `DELIVERED` (value: `"DELIVERED"`) + + + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/PropagationCalculatedFieldConfiguration.md b/pe/docs/PropagationCalculatedFieldConfiguration.md index 45fdf344..52daa636 100644 --- a/pe/docs/PropagationCalculatedFieldConfiguration.md +++ b/pe/docs/PropagationCalculatedFieldConfiguration.md @@ -18,7 +18,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### CalculatedFieldConfiguration | Name | Type | Description | Notes | @@ -88,7 +88,7 @@ `CLIENT_SCOPE` | `SERVER_SCOPE` | `SHARED_SCOPE` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### ArgumentType (enum) `TS_LATEST` | `ATTRIBUTE` | `TS_ROLLING` diff --git a/pe/docs/QrCodeSettings.md b/pe/docs/QrCodeSettings.md index fe9fb453..57f0c245 100644 --- a/pe/docs/QrCodeSettings.md +++ b/pe/docs/QrCodeSettings.md @@ -25,7 +25,7 @@ A JSON value representing the mobile apps configuration ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### QrCodeSettingsId | Name | Type | Description | Notes | @@ -45,7 +45,7 @@ A JSON value representing the mobile apps configuration `RIGHT` | `LEFT` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/Queue.md b/pe/docs/Queue.md index 105dd82f..644711f7 100644 --- a/pe/docs/Queue.md +++ b/pe/docs/Queue.md @@ -26,7 +26,7 @@ A JSON value representing the queue. ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### SubmitStrategy | Name | Type | Description | Notes | @@ -50,7 +50,7 @@ A JSON value representing the queue. `SKIP_ALL_FAILURES` | `SKIP_ALL_FAILURES_AND_TIMED_OUT` | `RETRY_ALL` | `RETRY_FAILED` | `RETRY_TIMED_OUT` | `RETRY_FAILED_AND_TIMED_OUT` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/QueueId.md b/pe/docs/QueueId.md index 307b489c..bc25a978 100644 --- a/pe/docs/QueueId.md +++ b/pe/docs/QueueId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/QueueStats.md b/pe/docs/QueueStats.md index 3620a700..be6be853 100644 --- a/pe/docs/QueueStats.md +++ b/pe/docs/QueueStats.md @@ -17,10 +17,10 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/QueueStatsId.md b/pe/docs/QueueStatsId.md index c84be137..480e544a 100644 --- a/pe/docs/QueueStatsId.md +++ b/pe/docs/QueueStatsId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/RateLimitsNotificationRuleTriggerConfig.md b/pe/docs/RateLimitsNotificationRuleTriggerConfig.md index 26c8e19a..08b97bea 100644 --- a/pe/docs/RateLimitsNotificationRuleTriggerConfig.md +++ b/pe/docs/RateLimitsNotificationRuleTriggerConfig.md @@ -21,7 +21,7 @@ | triggerType | NotificationRuleTriggerType | | | #### LimitedApi (enum) -`ENTITY_EXPORT` | `ENTITY_IMPORT` | `NOTIFICATION_REQUESTS` | `NOTIFICATION_REQUESTS_PER_RULE` | `REST_REQUESTS_PER_TENANT` | `REST_REQUESTS_PER_CUSTOMER` | `WS_UPDATES_PER_SESSION` | `CASSANDRA_WRITE_QUERIES_CORE` | `CASSANDRA_READ_QUERIES_CORE` | `CASSANDRA_WRITE_QUERIES_RULE_ENGINE` | … (36 values total) +`ENTITY_EXPORT` | `ENTITY_IMPORT` | `NOTIFICATION_REQUESTS` | `NOTIFICATION_REQUESTS_PER_RULE` | `REST_REQUESTS_PER_TENANT` | `REST_REQUESTS_PER_CUSTOMER` | `WS_UPDATES_PER_SESSION` | `CASSANDRA_WRITE_QUERIES_CORE` | `CASSANDRA_READ_QUERIES_CORE` | `CASSANDRA_WRITE_QUERIES_RULE_ENGINE` | … (40 values total) #### NotificationRuleTriggerType (enum) `ENTITY_ACTION` | `ALARM` | `ALARM_COMMENT` | `ALARM_ASSIGNMENT` | `DEVICE_ACTIVITY` | `RULE_ENGINE_COMPONENT_LIFECYCLE_EVENT` | `INTEGRATION_LIFECYCLE_EVENT` | `EDGE_CONNECTION` | `EDGE_COMMUNICATION_FAILURE` | `NEW_PLATFORM_VERSION` | … (15 values total) diff --git a/pe/docs/RelatedEntitiesAggregationCalculatedFieldConfiguration.md b/pe/docs/RelatedEntitiesAggregationCalculatedFieldConfiguration.md index 84256873..8305e121 100644 --- a/pe/docs/RelatedEntitiesAggregationCalculatedFieldConfiguration.md +++ b/pe/docs/RelatedEntitiesAggregationCalculatedFieldConfiguration.md @@ -21,7 +21,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### CalculatedFieldConfiguration | Name | Type | Description | Notes | @@ -117,7 +117,7 @@ `CLIENT_SCOPE` | `SERVER_SCOPE` | `SHARED_SCOPE` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### ArgumentType (enum) `TS_LATEST` | `ATTRIBUTE` | `TS_ROLLING` diff --git a/pe/docs/RelationEntityTypeFilter.md b/pe/docs/RelationEntityTypeFilter.md index 1a6bd026..429cb7fb 100644 --- a/pe/docs/RelationEntityTypeFilter.md +++ b/pe/docs/RelationEntityTypeFilter.md @@ -16,7 +16,7 @@ ## Referenced Types #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/RelationTypeGroup.md b/pe/docs/RelationTypeGroup.md index 7faf3248..ca42591c 100644 --- a/pe/docs/RelationTypeGroup.md +++ b/pe/docs/RelationTypeGroup.md @@ -20,6 +20,8 @@ * `EDGE_AUTO_ASSIGN_RULE_CHAIN` (value: `"EDGE_AUTO_ASSIGN_RULE_CHAIN"`) +* `AGENT` (value: `"AGENT"`) + --- diff --git a/pe/docs/RelationsQueryFilter.md b/pe/docs/RelationsQueryFilter.md index a19ccea4..5e5d6dc3 100644 --- a/pe/docs/RelationsQueryFilter.md +++ b/pe/docs/RelationsQueryFilter.md @@ -38,7 +38,7 @@ | id | UUID | ID of the entity, time-based UUID v1 | | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### EntitySearchDirection (enum) `FROM` | `TO` diff --git a/pe/docs/RelationsSearchParameters.md b/pe/docs/RelationsSearchParameters.md index f4b2672f..b676e616 100644 --- a/pe/docs/RelationsSearchParameters.md +++ b/pe/docs/RelationsSearchParameters.md @@ -19,13 +19,13 @@ ## Referenced Types #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### EntitySearchDirection (enum) `FROM` | `TO` #### RelationTypeGroup (enum) -`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` +`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` | `AGENT` --- diff --git a/pe/docs/Report.md b/pe/docs/Report.md index c52dc28d..ea92a51a 100644 --- a/pe/docs/Report.md +++ b/pe/docs/Report.md @@ -23,13 +23,13 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### TbReportFormat (enum) `PDF` | `CSV` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/ReportComponent.md b/pe/docs/ReportComponent.md index 90ad086f..42b9929a 100644 --- a/pe/docs/ReportComponent.md +++ b/pe/docs/ReportComponent.md @@ -203,7 +203,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### ReportComponentSubType (enum) `DOUGHNUT_CHART` | `HORIZONTAL_DOUGHNUT_CHART` | `POINT_CHART` | `BAR_CHART` | `PIE_CHART` | `LINE_CHART` | `LATEST_BAR_CHART` | `RANGE_CHART` | `BAR_CHART_WITH_LABELS` | `STATE_CHART` | … (11 values total) @@ -612,7 +612,7 @@ `YESTERDAY` | `DAY_BEFORE_YESTERDAY` | `THIS_DAY_LAST_WEEK` | `PREVIOUS_WEEK` | `PREVIOUS_WEEK_ISO` | `PREVIOUS_MONTH` | `PREVIOUS_QUARTER` | `PREVIOUS_HALF_YEAR` | `PREVIOUS_YEAR` | `CURRENT_HOUR` | … (24 values total) #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### ValueSourceType (enum) `CONSTANT` | `LATEST_KEY` | `ENTITY` diff --git a/pe/docs/ReportId.md b/pe/docs/ReportId.md index 34e83fd1..3f74a285 100644 --- a/pe/docs/ReportId.md +++ b/pe/docs/ReportId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/ReportInfo.md b/pe/docs/ReportInfo.md index 12fc28d4..1c32f579 100644 --- a/pe/docs/ReportInfo.md +++ b/pe/docs/ReportInfo.md @@ -26,7 +26,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### TbReportFormat (enum) `PDF` | `CSV` @@ -38,7 +38,7 @@ | name | String | Entity Name | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/ReportJobConfiguration.md b/pe/docs/ReportJobConfiguration.md index cfe47016..1867cb50 100644 --- a/pe/docs/ReportJobConfiguration.md +++ b/pe/docs/ReportJobConfiguration.md @@ -26,7 +26,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### JobConfiguration | Name | Type | Description | Notes | @@ -135,7 +135,7 @@ | totalSent | Integer | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### DebugSettings | Name | Type | Description | Notes | diff --git a/pe/docs/ReportJobResult.md b/pe/docs/ReportJobResult.md index 421533be..e514c5a8 100644 --- a/pe/docs/ReportJobResult.md +++ b/pe/docs/ReportJobResult.md @@ -15,7 +15,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### JobResult | Name | Type | Description | Notes | @@ -75,7 +75,7 @@ `PDF` | `CSV` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### CfReprocessingTaskFailure | Name | Type | Description | Notes | diff --git a/pe/docs/ReportRequest.md b/pe/docs/ReportRequest.md index d7320890..bab1885d 100644 --- a/pe/docs/ReportRequest.md +++ b/pe/docs/ReportRequest.md @@ -20,7 +20,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### ReportTemplateConfig | Name | Type | Description | Notes | @@ -256,7 +256,7 @@ | timestampColumnSettings | ColumnSettings | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### EntityFilter | Name | Type | Description | Notes | diff --git a/pe/docs/ReportTaskResult.md b/pe/docs/ReportTaskResult.md index 25d9c20b..8e6d890c 100644 --- a/pe/docs/ReportTaskResult.md +++ b/pe/docs/ReportTaskResult.md @@ -15,7 +15,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### TaskResult | Name | Type | Description | Notes | @@ -46,7 +46,7 @@ `PDF` | `CSV` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/ReportTemplate.md b/pe/docs/ReportTemplate.md index 5cf82438..8ccec01a 100644 --- a/pe/docs/ReportTemplate.md +++ b/pe/docs/ReportTemplate.md @@ -25,7 +25,7 @@ A JSON value representing the Report Template. ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### TbReportFormat (enum) `PDF` | `CSV` @@ -264,7 +264,7 @@ A JSON value representing the Report Template. | timestampColumnSettings | ColumnSettings | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### EntityFilter | Name | Type | Description | Notes | diff --git a/pe/docs/ReportTemplateConfig.md b/pe/docs/ReportTemplateConfig.md index e1772714..02d94efa 100644 --- a/pe/docs/ReportTemplateConfig.md +++ b/pe/docs/ReportTemplateConfig.md @@ -33,7 +33,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### TbReportFormat (enum) `PDF` | `CSV` @@ -636,7 +636,7 @@ | id | UUID | ID of the entity, time-based UUID v1 | | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### EntitySearchDirection (enum) `FROM` | `TO` diff --git a/pe/docs/ReportTemplateExportData.md b/pe/docs/ReportTemplateExportData.md index d879f476..ab21c3f9 100644 --- a/pe/docs/ReportTemplateExportData.md +++ b/pe/docs/ReportTemplateExportData.md @@ -14,7 +14,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityExportData | Name | Type | Description | Notes | @@ -71,10 +71,10 @@ | debugMode | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### RelationTypeGroup (enum) -`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` +`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` | `AGENT` #### CalculatedFieldType (enum) `SIMPLE` | `SCRIPT` | `GEOFENCING` | `ALARM` | `PROPAGATION` | `RELATED_ENTITIES_AGGREGATION` | `ENTITY_AGGREGATION` diff --git a/pe/docs/ReportTemplateId.md b/pe/docs/ReportTemplateId.md index 54a842a5..cabda069 100644 --- a/pe/docs/ReportTemplateId.md +++ b/pe/docs/ReportTemplateId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/ReportTemplateInfo.md b/pe/docs/ReportTemplateInfo.md index 0cbbe44a..27a30ffa 100644 --- a/pe/docs/ReportTemplateInfo.md +++ b/pe/docs/ReportTemplateInfo.md @@ -23,7 +23,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### TbReportFormat (enum) `PDF` | `CSV` @@ -32,7 +32,7 @@ `REPORT` | `SUB_REPORT` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/Resource.md b/pe/docs/Resource.md index b97b1220..b4fd5827 100644 --- a/pe/docs/Resource.md +++ b/pe/docs/Resource.md @@ -74,6 +74,8 @@ * `DASHBOARD_GROUP` (value: `"DASHBOARD_GROUP"`) +* `AGENT_GROUP` (value: `"AGENT_GROUP"`) + * `ROLE` (value: `"ROLE"`) * `GROUP_PERMISSION` (value: `"GROUP_PERMISSION"`) @@ -110,6 +112,12 @@ * `AI_MODEL` (value: `"AI_MODEL"`) +* `AGENT` (value: `"AGENT"`) + +* `AGENT_APP_PROFILE` (value: `"AGENT_APP_PROFILE"`) + +* `AGENT_PROFILE` (value: `"AGENT_PROFILE"`) + * `AI` (value: `"AI"`) * `API_KEY` (value: `"API_KEY"`) diff --git a/pe/docs/RichTextComponent.md b/pe/docs/RichTextComponent.md index 77d2b204..051cb6a2 100644 --- a/pe/docs/RichTextComponent.md +++ b/pe/docs/RichTextComponent.md @@ -22,7 +22,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### ReportComponent | Name | Type | Description | Notes | @@ -213,7 +213,7 @@ | color | String | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### IntervalType (enum) `MILLISECONDS` | `WEEK` | `WEEK_ISO` | `MONTH` | `QUARTER` diff --git a/pe/docs/Role.md b/pe/docs/Role.md index 01dcdb91..05bf1dd7 100644 --- a/pe/docs/Role.md +++ b/pe/docs/Role.md @@ -25,13 +25,13 @@ A JSON value representing the role. ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### RoleType (enum) `GENERIC` | `GROUP` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/RoleExportData.md b/pe/docs/RoleExportData.md index a96b453e..b9b3344a 100644 --- a/pe/docs/RoleExportData.md +++ b/pe/docs/RoleExportData.md @@ -14,7 +14,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityExportData | Name | Type | Description | Notes | @@ -71,10 +71,10 @@ | debugMode | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### RelationTypeGroup (enum) -`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` +`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` | `AGENT` #### CalculatedFieldType (enum) `SIMPLE` | `SCRIPT` | `GEOFENCING` | `ALARM` | `PROPAGATION` | `RELATED_ENTITIES_AGGREGATION` | `ENTITY_AGGREGATION` diff --git a/pe/docs/RoleId.md b/pe/docs/RoleId.md index 497c8fe1..25e35f6e 100644 --- a/pe/docs/RoleId.md +++ b/pe/docs/RoleId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/RollBackStep.md b/pe/docs/RollBackStep.md new file mode 100644 index 00000000..bd2259c5 --- /dev/null +++ b/pe/docs/RollBackStep.md @@ -0,0 +1,61 @@ + +# RollBackStep + +`org.thingsboard.client.model.RollBackStep` + +**Extends:** **AgentAppStep** + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **state** | **RollBackStepState** | | [optional] | + + + +## Referenced Types + +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. + +#### AgentAppStep +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| id | UUID | | [optional] | +| nextId | UUID | | [optional] | +| title | String | | [optional] | +| templateOnly | Boolean | | [optional] | +| condition | String | | [optional] | +| stateful | Boolean | | [optional] | +| type | AgentAppStepType | | [optional] | + +#### RollBackStepState *(extends AgentAppStepState)* +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| failedEventId | StepFieldAgentAppEventId | | [optional] | + +#### AgentAppStepType (enum) +`COMPOSE_TEMPLATE` | `COMPOSE` | `COMPOSE_START` | `COMPOSE_DOWN` | `ROLLBACK` | `BACKUP_VOLUME` | `BACKUP_VOLUME_REMOVE` | `COMPOSE_RESTART` | `RUN_JOB` | `AGENT_PREPARE` | … (11 values total) + +#### AgentAppStepState +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| type | AgentAppStepType | | [optional] | + +#### StepFieldAgentAppEventId +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | AgentAppEventId | | [optional] | +| userChoice | Boolean | | [optional] | + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/RollBackStepState.md b/pe/docs/RollBackStepState.md new file mode 100644 index 00000000..30f9b47d --- /dev/null +++ b/pe/docs/RollBackStepState.md @@ -0,0 +1,45 @@ + +# RollBackStepState + +`org.thingsboard.client.model.RollBackStepState` + +**Extends:** **AgentAppStepState** + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **failedEventId** | **StepFieldAgentAppEventId** | | [optional] | + + + +## Referenced Types + +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. + +#### AgentAppStepState +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| type | AgentAppStepType | | [optional] | + +#### StepFieldAgentAppEventId +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | AgentAppEventId | | [optional] | +| userChoice | Boolean | | [optional] | + +#### AgentAppStepType (enum) +`COMPOSE_TEMPLATE` | `COMPOSE` | `COMPOSE_START` | `COMPOSE_DOWN` | `ROLLBACK` | `BACKUP_VOLUME` | `BACKUP_VOLUME_REMOVE` | `COMPOSE_RESTART` | `RUN_JOB` | `AGENT_PREPARE` | … (11 values total) + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/Rpc.md b/pe/docs/Rpc.md index 22018ae2..13f20341 100644 --- a/pe/docs/Rpc.md +++ b/pe/docs/Rpc.md @@ -21,13 +21,13 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### RpcStatus (enum) `QUEUED` | `SENT` | `DELIVERED` | `SUCCESSFUL` | `TIMEOUT` | `EXPIRED` | `FAILED` | `DELETED` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/RpcId.md b/pe/docs/RpcId.md index be03ee15..7f5ba225 100644 --- a/pe/docs/RpcId.md +++ b/pe/docs/RpcId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/RuleChain.md b/pe/docs/RuleChain.md index 7e0262a5..5524e714 100644 --- a/pe/docs/RuleChain.md +++ b/pe/docs/RuleChain.md @@ -25,13 +25,13 @@ A JSON value representing the rule chain. ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### RuleChainType (enum) `CORE` | `EDGE` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/RuleChainConnectionInfo.md b/pe/docs/RuleChainConnectionInfo.md index 5558a067..693a8674 100644 --- a/pe/docs/RuleChainConnectionInfo.md +++ b/pe/docs/RuleChainConnectionInfo.md @@ -16,10 +16,10 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/RuleChainData.md b/pe/docs/RuleChainData.md index 06160011..db6f9d6c 100644 --- a/pe/docs/RuleChainData.md +++ b/pe/docs/RuleChainData.md @@ -16,7 +16,7 @@ A JSON value representing the rule chains. ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### RuleChain | Name | Type | Description | Notes | @@ -102,7 +102,7 @@ A JSON value representing the rule chains. | allEnabledUntil | Long | Timestamp of the end time for the processing debug events. | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/RuleChainExportData.md b/pe/docs/RuleChainExportData.md index 818e12bc..5dd1af55 100644 --- a/pe/docs/RuleChainExportData.md +++ b/pe/docs/RuleChainExportData.md @@ -15,7 +15,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityExportData | Name | Type | Description | Notes | @@ -83,7 +83,7 @@ | debugMode | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### RuleNode | Name | Type | Description | Notes | @@ -133,7 +133,7 @@ | markdownCss | String | Custom CSS styles applied to the note content | [optional] | #### RelationTypeGroup (enum) -`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` +`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` | `AGENT` #### CalculatedFieldType (enum) `SIMPLE` | `SCRIPT` | `GEOFENCING` | `ALARM` | `PROPAGATION` | `RELATED_ENTITIES_AGGREGATION` | `ENTITY_AGGREGATION` diff --git a/pe/docs/RuleChainId.md b/pe/docs/RuleChainId.md index 39f839d9..045600e5 100644 --- a/pe/docs/RuleChainId.md +++ b/pe/docs/RuleChainId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/RuleChainImportResult.md b/pe/docs/RuleChainImportResult.md index 2393d72e..3a466a08 100644 --- a/pe/docs/RuleChainImportResult.md +++ b/pe/docs/RuleChainImportResult.md @@ -16,10 +16,10 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/RuleChainMetaData.md b/pe/docs/RuleChainMetaData.md index aa8bf7f0..e3c8c67e 100644 --- a/pe/docs/RuleChainMetaData.md +++ b/pe/docs/RuleChainMetaData.md @@ -21,7 +21,7 @@ A JSON value representing the rule chain metadata. ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### RuleNode | Name | Type | Description | Notes | @@ -78,7 +78,7 @@ A JSON value representing the rule chain metadata. | allEnabledUntil | Long | Timestamp of the end time for the processing debug events. | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/RuleChainOutputLabelsUsage.md b/pe/docs/RuleChainOutputLabelsUsage.md index b033b935..72232386 100644 --- a/pe/docs/RuleChainOutputLabelsUsage.md +++ b/pe/docs/RuleChainOutputLabelsUsage.md @@ -17,10 +17,10 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/RuleNode.md b/pe/docs/RuleNode.md index ed6e80c0..ad4c5f84 100644 --- a/pe/docs/RuleNode.md +++ b/pe/docs/RuleNode.md @@ -25,7 +25,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### DebugSettings | Name | Type | Description | Notes | @@ -35,7 +35,7 @@ | allEnabledUntil | Long | Timestamp of the end time for the processing debug events. | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/RuleNodeId.md b/pe/docs/RuleNodeId.md index ed55c680..7a3dc05b 100644 --- a/pe/docs/RuleNodeId.md +++ b/pe/docs/RuleNodeId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/RunJobStep.md b/pe/docs/RunJobStep.md new file mode 100644 index 00000000..24aeddf0 --- /dev/null +++ b/pe/docs/RunJobStep.md @@ -0,0 +1,82 @@ + +# RunJobStep + +`org.thingsboard.client.model.RunJobStep` + +**Extends:** **AgentAppStep** + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **state** | **RunJobStepState** | | [optional] | + + + +## Referenced Types + +#### AgentAppStep +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| id | UUID | | [optional] | +| nextId | UUID | | [optional] | +| title | String | | [optional] | +| templateOnly | Boolean | | [optional] | +| condition | String | | [optional] | +| stateful | Boolean | | [optional] | +| type | AgentAppStepType | | [optional] | + +#### RunJobStepState *(extends AgentAppStepState)* +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| image | StepFieldString | | [optional] | +| entrypoint | StepFieldListString | | [optional] | +| cmd | StepFieldListString | | [optional] | +| env | StepFieldListString | | [optional] | +| binds | StepFieldListString | | [optional] | +| networks | StepFieldListString | | [optional] | +| pullImages | StepFieldBoolean | | [optional] | +| retries | StepFieldInteger | | [optional] | +| networkFromServiceImageRegexPattern | StepFieldString | | [optional] | + +#### AgentAppStepType (enum) +`COMPOSE_TEMPLATE` | `COMPOSE` | `COMPOSE_START` | `COMPOSE_DOWN` | `ROLLBACK` | `BACKUP_VOLUME` | `BACKUP_VOLUME_REMOVE` | `COMPOSE_RESTART` | `RUN_JOB` | `AGENT_PREPARE` | … (11 values total) + +#### AgentAppStepState +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| type | AgentAppStepType | | [optional] | + +#### StepFieldString +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | String | | [optional] | +| userChoice | Boolean | | [optional] | + +#### StepFieldListString +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| userChoice | Boolean | | [optional] | +| value | List | | [optional] | + +#### StepFieldBoolean +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | Boolean | | [optional] | +| userChoice | Boolean | | [optional] | + +#### StepFieldInteger +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | Integer | | [optional] | +| userChoice | Boolean | | [optional] | + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/RunJobStepState.md b/pe/docs/RunJobStepState.md new file mode 100644 index 00000000..5ea535ba --- /dev/null +++ b/pe/docs/RunJobStepState.md @@ -0,0 +1,66 @@ + +# RunJobStepState + +`org.thingsboard.client.model.RunJobStepState` + +**Extends:** **AgentAppStepState** + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **image** | **StepFieldString** | | [optional] | +| **entrypoint** | **StepFieldListString** | | [optional] | +| **cmd** | **StepFieldListString** | | [optional] | +| **env** | **StepFieldListString** | | [optional] | +| **binds** | **StepFieldListString** | | [optional] | +| **networks** | **StepFieldListString** | | [optional] | +| **pullImages** | **StepFieldBoolean** | | [optional] | +| **retries** | **StepFieldInteger** | | [optional] | +| **networkFromServiceImageRegexPattern** | **StepFieldString** | | [optional] | + + + +## Referenced Types + +#### AgentAppStepState +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| type | AgentAppStepType | | [optional] | + +#### StepFieldString +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | String | | [optional] | +| userChoice | Boolean | | [optional] | + +#### StepFieldListString +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| userChoice | Boolean | | [optional] | +| value | List | | [optional] | + +#### StepFieldBoolean +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | Boolean | | [optional] | +| userChoice | Boolean | | [optional] | + +#### StepFieldInteger +| Name | Type | Description | Notes | +|------|------|-------------|-------| +| value | Integer | | [optional] | +| userChoice | Boolean | | [optional] | + +#### AgentAppStepType (enum) +`COMPOSE_TEMPLATE` | `COMPOSE` | `COMPOSE_START` | `COMPOSE_DOWN` | `ROLLBACK` | `BACKUP_VOLUME` | `BACKUP_VOLUME_REMOVE` | `COMPOSE_RESTART` | `RUN_JOB` | `AGENT_PREPARE` | … (11 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/SaveDeviceWithCredentialsRequest.md b/pe/docs/SaveDeviceWithCredentialsRequest.md index 73329a81..5e9efc73 100644 --- a/pe/docs/SaveDeviceWithCredentialsRequest.md +++ b/pe/docs/SaveDeviceWithCredentialsRequest.md @@ -16,7 +16,7 @@ The JSON object with device and credentials. See method description above for ex ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### Device | Name | Type | Description | Notes | @@ -113,7 +113,7 @@ The JSON object with device and credentials. See method description above for ex | engineId | String | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### DeviceProfileType (enum) `DEFAULT` diff --git a/pe/docs/SaveOtaPackageInfoRequest.md b/pe/docs/SaveOtaPackageInfoRequest.md index a1f4449c..29ec8c7f 100644 --- a/pe/docs/SaveOtaPackageInfoRequest.md +++ b/pe/docs/SaveOtaPackageInfoRequest.md @@ -32,7 +32,7 @@ A JSON value representing the OTA Package. ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### OtaPackageType (enum) `FIRMWARE` | `SOFTWARE` @@ -41,7 +41,7 @@ A JSON value representing the OTA Package. `MD5` | `SHA256` | `SHA384` | `SHA512` | `CRC32` | `MURMUR3_32` | `MURMUR3_128` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/ScheduledReportInfo.md b/pe/docs/ScheduledReportInfo.md index 0adc53ec..5ccbd997 100644 --- a/pe/docs/ScheduledReportInfo.md +++ b/pe/docs/ScheduledReportInfo.md @@ -27,7 +27,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityInfo | Name | Type | Description | Notes | @@ -36,7 +36,7 @@ | name | String | Entity Name | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/SchedulerEvent.md b/pe/docs/SchedulerEvent.md index 84f90e40..a638567c 100644 --- a/pe/docs/SchedulerEvent.md +++ b/pe/docs/SchedulerEvent.md @@ -27,10 +27,10 @@ A JSON value representing the Scheduler Event. ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/SchedulerEventExportData.md b/pe/docs/SchedulerEventExportData.md index efa6c72c..d5bf7c4c 100644 --- a/pe/docs/SchedulerEventExportData.md +++ b/pe/docs/SchedulerEventExportData.md @@ -14,7 +14,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityExportData | Name | Type | Description | Notes | @@ -71,10 +71,10 @@ | debugMode | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### RelationTypeGroup (enum) -`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` +`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` | `AGENT` #### CalculatedFieldType (enum) `SIMPLE` | `SCRIPT` | `GEOFENCING` | `ALARM` | `PROPAGATION` | `RELATED_ENTITIES_AGGREGATION` | `ENTITY_AGGREGATION` diff --git a/pe/docs/SchedulerEventFilter.md b/pe/docs/SchedulerEventFilter.md index 1b23ed4e..36d2844d 100644 --- a/pe/docs/SchedulerEventFilter.md +++ b/pe/docs/SchedulerEventFilter.md @@ -34,7 +34,7 @@ `CURRENT_CUSTOMER` | `CURRENT_TENANT` | `CURRENT_USER` | `CURRENT_USER_OWNER` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/SchedulerEventId.md b/pe/docs/SchedulerEventId.md index 11631a26..2a81f056 100644 --- a/pe/docs/SchedulerEventId.md +++ b/pe/docs/SchedulerEventId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/SchedulerEventInfo.md b/pe/docs/SchedulerEventInfo.md index 981e3758..80083997 100644 --- a/pe/docs/SchedulerEventInfo.md +++ b/pe/docs/SchedulerEventInfo.md @@ -24,10 +24,10 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/SchedulerEventWithCustomerInfo.md b/pe/docs/SchedulerEventWithCustomerInfo.md index e01a964f..f8afaf14 100644 --- a/pe/docs/SchedulerEventWithCustomerInfo.md +++ b/pe/docs/SchedulerEventWithCustomerInfo.md @@ -27,10 +27,10 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/ScriptCalculatedFieldConfiguration.md b/pe/docs/ScriptCalculatedFieldConfiguration.md index 9529d288..4a7f7f53 100644 --- a/pe/docs/ScriptCalculatedFieldConfiguration.md +++ b/pe/docs/ScriptCalculatedFieldConfiguration.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### CalculatedFieldConfiguration | Name | Type | Description | Notes | @@ -77,7 +77,7 @@ `CLIENT_SCOPE` | `SERVER_SCOPE` | `SHARED_SCOPE` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### ArgumentType (enum) `TS_LATEST` | `ATTRIBUTE` | `TS_ROLLING` diff --git a/pe/docs/Secret.md b/pe/docs/Secret.md index 2d706fa5..335b1cda 100644 --- a/pe/docs/Secret.md +++ b/pe/docs/Secret.md @@ -22,13 +22,13 @@ A JSON value representing the Secret. ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### SecretType (enum) `TEXT` | `TEXT_FILE` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/SecretId.md b/pe/docs/SecretId.md index dcb7264e..6d390b52 100644 --- a/pe/docs/SecretId.md +++ b/pe/docs/SecretId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/SecretInfo.md b/pe/docs/SecretInfo.md index 636f05c1..846fee02 100644 --- a/pe/docs/SecretInfo.md +++ b/pe/docs/SecretInfo.md @@ -18,13 +18,13 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### SecretType (enum) `TEXT` | `TEXT_FILE` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/SelfRegistrationParams.md b/pe/docs/SelfRegistrationParams.md index fe5cc44e..3976b545 100644 --- a/pe/docs/SelfRegistrationParams.md +++ b/pe/docs/SelfRegistrationParams.md @@ -42,7 +42,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### SelfRegistrationType (enum) `WEB` | `MOBILE` @@ -121,7 +121,7 @@ | host | String | Mobile application verification settings. Used for callback to mobile application once user is registered. | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### SignUpFieldId (enum) `EMAIL` | `PASSWORD` | `REPEAT_PASSWORD` | `FIRST_NAME` | `LAST_NAME` | `PHONE` | `COUNTRY` | `CITY` | `STATE` | `ZIP` | … (12 values total) diff --git a/pe/docs/ShareGroupRequest.md b/pe/docs/ShareGroupRequest.md index 190c29ec..535b6965 100644 --- a/pe/docs/ShareGroupRequest.md +++ b/pe/docs/ShareGroupRequest.md @@ -19,10 +19,10 @@ The Share Group Request JSON ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/ShortCustomerInfo.md b/pe/docs/ShortCustomerInfo.md index feba0802..40a1dad6 100644 --- a/pe/docs/ShortCustomerInfo.md +++ b/pe/docs/ShortCustomerInfo.md @@ -15,10 +15,10 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/ShortEntityView.md b/pe/docs/ShortEntityView.md index 040c724d..3c820ae9 100644 --- a/pe/docs/ShortEntityView.md +++ b/pe/docs/ShortEntityView.md @@ -14,10 +14,10 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/SimpleCalculatedFieldConfiguration.md b/pe/docs/SimpleCalculatedFieldConfiguration.md index d8f5e165..e307ce96 100644 --- a/pe/docs/SimpleCalculatedFieldConfiguration.md +++ b/pe/docs/SimpleCalculatedFieldConfiguration.md @@ -17,7 +17,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### CalculatedFieldConfiguration | Name | Type | Description | Notes | @@ -78,7 +78,7 @@ `CLIENT_SCOPE` | `SERVER_SCOPE` | `SHARED_SCOPE` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### ArgumentType (enum) `TS_LATEST` | `ATTRIBUTE` | `TS_ROLLING` diff --git a/pe/docs/SingleEntityFilter.md b/pe/docs/SingleEntityFilter.md index 0f60f323..5b957c5f 100644 --- a/pe/docs/SingleEntityFilter.md +++ b/pe/docs/SingleEntityFilter.md @@ -31,7 +31,7 @@ `CURRENT_CUSTOMER` | `CURRENT_TENANT` | `CURRENT_USER` | `CURRENT_USER_OWNER` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/SingleEntityVersionCreateRequest.md b/pe/docs/SingleEntityVersionCreateRequest.md index 30c2daa0..c8858e5d 100644 --- a/pe/docs/SingleEntityVersionCreateRequest.md +++ b/pe/docs/SingleEntityVersionCreateRequest.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### VersionCreateRequest | Name | Type | Description | Notes | @@ -39,7 +39,7 @@ `SINGLE_ENTITY` | `COMPLEX` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/SingleEntityVersionLoadRequest.md b/pe/docs/SingleEntityVersionLoadRequest.md index d725cd30..6b21e717 100644 --- a/pe/docs/SingleEntityVersionLoadRequest.md +++ b/pe/docs/SingleEntityVersionLoadRequest.md @@ -17,7 +17,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### VersionLoadRequest | Name | Type | Description | Notes | @@ -40,7 +40,7 @@ `SINGLE_ENTITY` | `ENTITY_TYPE` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/SkipReason.md b/pe/docs/SkipReason.md new file mode 100644 index 00000000..2bada9d5 --- /dev/null +++ b/pe/docs/SkipReason.md @@ -0,0 +1,27 @@ + +# SkipReason + +`org.thingsboard.client.model.SkipReason` + +## Enum Values + + +* `VERSION_MISMATCH` (value: `"VERSION_MISMATCH"`) + +* `ACTIVE_EVENT` (value: `"ACTIVE_EVENT"`) + +* `RATE_LIMIT_EXCEEDED` (value: `"RATE_LIMIT_EXCEEDED"`) + +* `ERROR` (value: `"ERROR"`) + + + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/SkippedApp.md b/pe/docs/SkippedApp.md new file mode 100644 index 00000000..4fa10041 --- /dev/null +++ b/pe/docs/SkippedApp.md @@ -0,0 +1,37 @@ + +# SkippedApp + +`org.thingsboard.client.model.SkippedApp` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **agentId** | **AgentId** | Agent Id owning the application | [optional] | +| **agentName** | **String** | Agent name | [optional] | +| **applicationId** | **AgentApplicationId** | Application Id | [optional] | +| **applicationName** | **String** | Application name | [optional] | +| **reason** | **SkipReason** | Reason for skipping | [optional] | +| **msg** | **String** | Optional message in case of a failure | [optional] | + + + +## Referenced Types + +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. + +#### SkipReason (enum) +`VERSION_MISMATCH` | `ACTIVE_EVENT` | `RATE_LIMIT_EXCEEDED` | `ERROR` + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/SolutionData.md b/pe/docs/SolutionData.md index ad97c497..9c756bbb 100644 --- a/pe/docs/SolutionData.md +++ b/pe/docs/SolutionData.md @@ -15,7 +15,7 @@ Portable solution package containing exported entities grouped by type. Represen ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityExportData | Name | Type | Description | Notes | @@ -153,10 +153,10 @@ Portable solution package containing exported entities grouped by type. Represen | debugMode | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### RelationTypeGroup (enum) -`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` +`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` | `AGENT` #### CalculatedFieldType (enum) `SIMPLE` | `SCRIPT` | `GEOFENCING` | `ALARM` | `PROPAGATION` | `RELATED_ENTITIES_AGGREGATION` | `ENTITY_AGGREGATION` diff --git a/pe/docs/SolutionExportRequest.md b/pe/docs/SolutionExportRequest.md index 871a4c9f..8cdbbbdb 100644 --- a/pe/docs/SolutionExportRequest.md +++ b/pe/docs/SolutionExportRequest.md @@ -17,7 +17,7 @@ Solution export request specifying which entities to include and export settings ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityExportSettings | Name | Type | Description | Notes | @@ -31,7 +31,7 @@ Solution export request specifying which entities to include and export settings | embedGroupMembers | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/SolutionExportResponse.md b/pe/docs/SolutionExportResponse.md index 4da3c8ba..ad87f0b1 100644 --- a/pe/docs/SolutionExportResponse.md +++ b/pe/docs/SolutionExportResponse.md @@ -16,7 +16,7 @@ Solution export response containing the exported solution data and any dependenc ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### SolutionData | Name | Type | Description | Notes | @@ -159,10 +159,10 @@ Solution export response containing the exported solution data and any dependenc | debugMode | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### RelationTypeGroup (enum) -`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` +`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` | `AGENT` #### CalculatedFieldType (enum) `SIMPLE` | `SCRIPT` | `GEOFENCING` | `ALARM` | `PROPAGATION` | `RELATED_ENTITIES_AGGREGATION` | `ENTITY_AGGREGATION` diff --git a/pe/docs/StateEntityFilter.md b/pe/docs/StateEntityFilter.md index d0854037..4f588d7e 100644 --- a/pe/docs/StateEntityFilter.md +++ b/pe/docs/StateEntityFilter.md @@ -31,7 +31,7 @@ `CURRENT_CUSTOMER` | `CURRENT_TENANT` | `CURRENT_USER` | `CURRENT_USER_OWNER` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/StateEntityOwnerFilter.md b/pe/docs/StateEntityOwnerFilter.md index 1361bb08..532989ef 100644 --- a/pe/docs/StateEntityOwnerFilter.md +++ b/pe/docs/StateEntityOwnerFilter.md @@ -32,7 +32,7 @@ `CURRENT_CUSTOMER` | `CURRENT_TENANT` | `CURRENT_USER` | `CURRENT_USER_OWNER` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/StepFieldAgentAppEventId.md b/pe/docs/StepFieldAgentAppEventId.md new file mode 100644 index 00000000..d5486d25 --- /dev/null +++ b/pe/docs/StepFieldAgentAppEventId.md @@ -0,0 +1,30 @@ + +# StepFieldAgentAppEventId + +`org.thingsboard.client.model.StepFieldAgentAppEventId` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **value** | **AgentAppEventId** | | [optional] | +| **userChoice** | **Boolean** | | [optional] | + + + +## Referenced Types + +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. + +#### EntityType (enum) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/StepFieldBoolean.md b/pe/docs/StepFieldBoolean.md new file mode 100644 index 00000000..d5d688af --- /dev/null +++ b/pe/docs/StepFieldBoolean.md @@ -0,0 +1,23 @@ + +# StepFieldBoolean + +`org.thingsboard.client.model.StepFieldBoolean` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **value** | **Boolean** | | [optional] | +| **userChoice** | **Boolean** | | [optional] | + + + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/StepFieldInteger.md b/pe/docs/StepFieldInteger.md new file mode 100644 index 00000000..e5c3e149 --- /dev/null +++ b/pe/docs/StepFieldInteger.md @@ -0,0 +1,23 @@ + +# StepFieldInteger + +`org.thingsboard.client.model.StepFieldInteger` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **value** | **Integer** | | [optional] | +| **userChoice** | **Boolean** | | [optional] | + + + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/StepFieldListString.md b/pe/docs/StepFieldListString.md new file mode 100644 index 00000000..5f6333b5 --- /dev/null +++ b/pe/docs/StepFieldListString.md @@ -0,0 +1,23 @@ + +# StepFieldListString + +`org.thingsboard.client.model.StepFieldListString` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **userChoice** | **Boolean** | | [optional] | +| **value** | **List\** | | [optional] | + + + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/StepFieldString.md b/pe/docs/StepFieldString.md new file mode 100644 index 00000000..7d442733 --- /dev/null +++ b/pe/docs/StepFieldString.md @@ -0,0 +1,23 @@ + +# StepFieldString + +`org.thingsboard.client.model.StepFieldString` + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +| **value** | **String** | | [optional] | +| **userChoice** | **Boolean** | | [optional] | + + + +--- + +### Conventions + +- **Package:** `org.thingsboard.client.model` +- **Getter pattern:** `get()` — e.g., `getId()`, `getName()` +- **Setter pattern:** `set(value)` — e.g., `setId(value)`, `setName(value)` +- **Null fields:** Getters return `null` for unset optional fields; they do not throw exceptions + diff --git a/pe/docs/SubReportComponent.md b/pe/docs/SubReportComponent.md index 2a55701c..b3751795 100644 --- a/pe/docs/SubReportComponent.md +++ b/pe/docs/SubReportComponent.md @@ -17,7 +17,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### ReportComponent | Name | Type | Description | Notes | @@ -113,7 +113,7 @@ `CRITICAL` | `MAJOR` | `MINOR` | `WARNING` | `INDETERMINATE` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### History | Name | Type | Description | Notes | diff --git a/pe/docs/TaskResult.md b/pe/docs/TaskResult.md index 0940d6f6..daf68f4f 100644 --- a/pe/docs/TaskResult.md +++ b/pe/docs/TaskResult.md @@ -35,7 +35,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### CfReprocessingTaskFailure | Name | Type | Description | Notes | @@ -75,7 +75,7 @@ `PDF` | `CSV` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/TbImageDeleteResult.md b/pe/docs/TbImageDeleteResult.md index 4c28d7dd..02c5fe2b 100644 --- a/pe/docs/TbImageDeleteResult.md +++ b/pe/docs/TbImageDeleteResult.md @@ -15,7 +15,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### WhiteLabeling | Name | Type | Description | Notes | @@ -35,7 +35,7 @@ `LOGIN` | `GENERAL` | `MAIL_TEMPLATES` | `SELF_REGISTRATION` | `TERMS_OF_USE` | `PRIVACY_POLICY` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/TbResource.md b/pe/docs/TbResource.md index 389d159c..7655f615 100644 --- a/pe/docs/TbResource.md +++ b/pe/docs/TbResource.md @@ -32,7 +32,7 @@ A JSON value representing the Resource. ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### ResourceType (enum) `LWM2_M_MODEL` | `JKS` | `PKCS_12` | `JS_MODULE` | `IMAGE` | `DASHBOARD` | `GENERAL` @@ -41,7 +41,7 @@ A JSON value representing the Resource. `IMAGE` | `SCADA_SYMBOL` | `EXTENSION` | `MODULE` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/TbResourceDeleteResult.md b/pe/docs/TbResourceDeleteResult.md index 8a0ffd89..f8c6dda6 100644 --- a/pe/docs/TbResourceDeleteResult.md +++ b/pe/docs/TbResourceDeleteResult.md @@ -14,7 +14,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityInfo | Name | Type | Description | Notes | @@ -23,7 +23,7 @@ | name | String | Entity Name | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/TbResourceExportData.md b/pe/docs/TbResourceExportData.md index 046f6882..63e8764a 100644 --- a/pe/docs/TbResourceExportData.md +++ b/pe/docs/TbResourceExportData.md @@ -14,7 +14,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityExportData | Name | Type | Description | Notes | @@ -71,10 +71,10 @@ | debugMode | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### RelationTypeGroup (enum) -`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` +`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` | `AGENT` #### CalculatedFieldType (enum) `SIMPLE` | `SCRIPT` | `GEOFENCING` | `ALARM` | `PROPAGATION` | `RELATED_ENTITIES_AGGREGATION` | `ENTITY_AGGREGATION` diff --git a/pe/docs/TbResourceId.md b/pe/docs/TbResourceId.md index 938fd8cc..9b415098 100644 --- a/pe/docs/TbResourceId.md +++ b/pe/docs/TbResourceId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/TbResourceInfo.md b/pe/docs/TbResourceInfo.md index bf37ebbb..60d3d78c 100644 --- a/pe/docs/TbResourceInfo.md +++ b/pe/docs/TbResourceInfo.md @@ -30,7 +30,7 @@ A JSON value representing the Resource Info. ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### ResourceType (enum) `LWM2_M_MODEL` | `JKS` | `PKCS_12` | `JS_MODULE` | `IMAGE` | `DASHBOARD` | `GENERAL` @@ -39,7 +39,7 @@ A JSON value representing the Resource Info. `IMAGE` | `SCADA_SYMBOL` | `EXTENSION` | `MODULE` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/TbSecretDeleteResult.md b/pe/docs/TbSecretDeleteResult.md index 577ad97d..7c528cb9 100644 --- a/pe/docs/TbSecretDeleteResult.md +++ b/pe/docs/TbSecretDeleteResult.md @@ -14,7 +14,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityInfo | Name | Type | Description | Notes | @@ -23,7 +23,7 @@ | name | String | Entity Name | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/Tenant.md b/pe/docs/Tenant.md index 3ce7960d..c5e3cb22 100644 --- a/pe/docs/Tenant.md +++ b/pe/docs/Tenant.md @@ -30,10 +30,10 @@ A JSON value representing the tenant. ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/TenantId.md b/pe/docs/TenantId.md index c7a5bc73..b687aa7e 100644 --- a/pe/docs/TenantId.md +++ b/pe/docs/TenantId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/TenantInfo.md b/pe/docs/TenantInfo.md index 08d21a23..e140db24 100644 --- a/pe/docs/TenantInfo.md +++ b/pe/docs/TenantInfo.md @@ -29,10 +29,10 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/TenantProfile.md b/pe/docs/TenantProfile.md index 448baf56..ae67cb80 100644 --- a/pe/docs/TenantProfile.md +++ b/pe/docs/TenantProfile.md @@ -21,7 +21,7 @@ A JSON value representing the tenant profile. ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### TenantProfileData | Name | Type | Description | Notes | @@ -104,6 +104,10 @@ A JSON value representing the tenant profile. | edgeEventRateLimitsPerEdge | String | | [optional] | | edgeUplinkMessagesRateLimits | String | | [optional] | | edgeUplinkMessagesRateLimitsPerEdge | String | | [optional] | +| agentEventRateLimits | String | | [optional] | +| agentEventRateLimitsPerAgent | String | | [optional] | +| agentLogChunkRateLimits | String | | [optional] | +| agentLogChunkRateLimitsPerAgent | String | | [optional] | | defaultStorageTtlDays | Integer | | [optional] | | alarmsTtlDays | Integer | | [optional] | | rpcTtlDays | Integer | | [optional] | @@ -141,7 +145,7 @@ A JSON value representing the tenant profile. | additionalInfo | com.fasterxml.jackson.databind.JsonNode | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### SubmitStrategy | Name | Type | Description | Notes | diff --git a/pe/docs/TenantProfileConfiguration.md b/pe/docs/TenantProfileConfiguration.md index 3457091a..e214e9cc 100644 --- a/pe/docs/TenantProfileConfiguration.md +++ b/pe/docs/TenantProfileConfiguration.md @@ -83,6 +83,10 @@ | edgeEventRateLimitsPerEdge | String | | [optional] | | edgeUplinkMessagesRateLimits | String | | [optional] | | edgeUplinkMessagesRateLimitsPerEdge | String | | [optional] | +| agentEventRateLimits | String | | [optional] | +| agentEventRateLimitsPerAgent | String | | [optional] | +| agentLogChunkRateLimits | String | | [optional] | +| agentLogChunkRateLimitsPerAgent | String | | [optional] | | defaultStorageTtlDays | Integer | | [optional] | | alarmsTtlDays | Integer | | [optional] | | rpcTtlDays | Integer | | [optional] | diff --git a/pe/docs/TenantProfileData.md b/pe/docs/TenantProfileData.md index 56999bba..4ad0b838 100644 --- a/pe/docs/TenantProfileData.md +++ b/pe/docs/TenantProfileData.md @@ -89,6 +89,10 @@ | edgeEventRateLimitsPerEdge | String | | [optional] | | edgeUplinkMessagesRateLimits | String | | [optional] | | edgeUplinkMessagesRateLimitsPerEdge | String | | [optional] | +| agentEventRateLimits | String | | [optional] | +| agentEventRateLimitsPerAgent | String | | [optional] | +| agentLogChunkRateLimits | String | | [optional] | +| agentLogChunkRateLimitsPerAgent | String | | [optional] | | defaultStorageTtlDays | Integer | | [optional] | | alarmsTtlDays | Integer | | [optional] | | rpcTtlDays | Integer | | [optional] | diff --git a/pe/docs/TenantProfileId.md b/pe/docs/TenantProfileId.md index 9d4d1f20..b5eb13c6 100644 --- a/pe/docs/TenantProfileId.md +++ b/pe/docs/TenantProfileId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/TimeseriesChartComponent.md b/pe/docs/TimeseriesChartComponent.md index ca06534e..97b4f5a2 100644 --- a/pe/docs/TimeseriesChartComponent.md +++ b/pe/docs/TimeseriesChartComponent.md @@ -27,7 +27,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### ReportComponent | Name | Type | Description | Notes | @@ -435,7 +435,7 @@ | color | String | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### VerticalAlignment (enum) `BOTTOM` | `TOP` | `MIDDLE` diff --git a/pe/docs/TimeseriesTableComponent.md b/pe/docs/TimeseriesTableComponent.md index 21dec263..1f3ff55c 100644 --- a/pe/docs/TimeseriesTableComponent.md +++ b/pe/docs/TimeseriesTableComponent.md @@ -29,7 +29,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### ReportComponent | Name | Type | Description | Notes | @@ -262,7 +262,7 @@ | color | String | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### LineSeriesStepType (enum) `START` | `MIDDLE` | `END` diff --git a/pe/docs/User.md b/pe/docs/User.md index 98585562..f0238230 100644 --- a/pe/docs/User.md +++ b/pe/docs/User.md @@ -28,7 +28,7 @@ A JSON value representing the User. ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### Authority (enum) `SYS_ADMIN` | `TENANT_ADMIN` | `CUSTOMER_USER` | `REFRESH_TOKEN` | `PRE_VERIFICATION_TOKEN` | `MFA_CONFIGURATION_TOKEN` @@ -39,7 +39,7 @@ A JSON value representing the User. | id | UUID | string | | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/UserEmailInfo.md b/pe/docs/UserEmailInfo.md index 9d75d8db..3adcbc08 100644 --- a/pe/docs/UserEmailInfo.md +++ b/pe/docs/UserEmailInfo.md @@ -16,10 +16,10 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/UserExportData.md b/pe/docs/UserExportData.md index 1971113a..62b1b725 100644 --- a/pe/docs/UserExportData.md +++ b/pe/docs/UserExportData.md @@ -14,7 +14,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityExportData | Name | Type | Description | Notes | @@ -71,10 +71,10 @@ | debugMode | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### RelationTypeGroup (enum) -`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` +`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` | `AGENT` #### CalculatedFieldType (enum) `SIMPLE` | `SCRIPT` | `GEOFENCING` | `ALARM` | `PROPAGATION` | `RELATED_ENTITIES_AGGREGATION` | `ENTITY_AGGREGATION` diff --git a/pe/docs/UserId.md b/pe/docs/UserId.md index 9109ef92..babb7a74 100644 --- a/pe/docs/UserId.md +++ b/pe/docs/UserId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/UserInfo.md b/pe/docs/UserInfo.md index ad077425..c13b81ff 100644 --- a/pe/docs/UserInfo.md +++ b/pe/docs/UserInfo.md @@ -28,7 +28,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### Authority (enum) `SYS_ADMIN` | `TENANT_ADMIN` | `CUSTOMER_USER` | `REFRESH_TOKEN` | `PRE_VERIFICATION_TOKEN` | `MFA_CONFIGURATION_TOKEN` @@ -45,7 +45,7 @@ | name | String | Entity Name | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/UserMobileInfo.md b/pe/docs/UserMobileInfo.md index 69be9742..25a62ca0 100644 --- a/pe/docs/UserMobileInfo.md +++ b/pe/docs/UserMobileInfo.md @@ -17,7 +17,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### User | Name | Type | Description | Notes | @@ -67,7 +67,7 @@ | id | UUID | string | | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/VersionCreateRequest.md b/pe/docs/VersionCreateRequest.md index 7607a9e1..8f21653a 100644 --- a/pe/docs/VersionCreateRequest.md +++ b/pe/docs/VersionCreateRequest.md @@ -31,7 +31,7 @@ Request for creating a version ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### VersionCreateRequestType (enum) `SINGLE_ENTITY` | `COMPLEX` @@ -63,7 +63,7 @@ Request for creating a version | saveGroupEntities | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/VersionLoadRequest.md b/pe/docs/VersionLoadRequest.md index ff280d83..1e72b354 100644 --- a/pe/docs/VersionLoadRequest.md +++ b/pe/docs/VersionLoadRequest.md @@ -31,7 +31,7 @@ Request for loading a version ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### VersionLoadRequestType (enum) `SINGLE_ENTITY` | `ENTITY_TYPE` @@ -61,7 +61,7 @@ Request for loading a version | autoGenerateIntegrationKey | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/VersionLoadResult.md b/pe/docs/VersionLoadResult.md index ff439b37..9716f33e 100644 --- a/pe/docs/VersionLoadResult.md +++ b/pe/docs/VersionLoadResult.md @@ -15,7 +15,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityTypeLoadResult | Name | Type | Description | Notes | @@ -37,7 +37,7 @@ | message | String | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/VersionedEntityInfo.md b/pe/docs/VersionedEntityInfo.md index 1c08d019..823c72fe 100644 --- a/pe/docs/VersionedEntityInfo.md +++ b/pe/docs/VersionedEntityInfo.md @@ -14,10 +14,10 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/WebSelfRegistrationParams.md b/pe/docs/WebSelfRegistrationParams.md index a00afe59..6d1f62a4 100644 --- a/pe/docs/WebSelfRegistrationParams.md +++ b/pe/docs/WebSelfRegistrationParams.md @@ -17,7 +17,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### SelfRegistrationParams | Name | Type | Description | Notes | @@ -108,7 +108,7 @@ | id | UUID | string | | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### SignUpFieldId (enum) `EMAIL` | `PASSWORD` | `REPEAT_PASSWORD` | `FIRST_NAME` | `LAST_NAME` | `PHONE` | `COUNTRY` | `CITY` | `STATE` | `ZIP` | … (12 values total) diff --git a/pe/docs/WhiteLabeling.md b/pe/docs/WhiteLabeling.md index 73a7a847..18160c7e 100644 --- a/pe/docs/WhiteLabeling.md +++ b/pe/docs/WhiteLabeling.md @@ -17,13 +17,13 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### WhiteLabelingType (enum) `LOGIN` | `GENERAL` | `MAIL_TEMPLATES` | `SELF_REGISTRATION` | `TERMS_OF_USE` | `PRIVACY_POLICY` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/WidgetBundleInfo.md b/pe/docs/WidgetBundleInfo.md index e144d5e6..f3e1ba7a 100644 --- a/pe/docs/WidgetBundleInfo.md +++ b/pe/docs/WidgetBundleInfo.md @@ -14,10 +14,10 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/WidgetType.md b/pe/docs/WidgetType.md index 45ee9de3..bb5c8d63 100644 --- a/pe/docs/WidgetType.md +++ b/pe/docs/WidgetType.md @@ -21,10 +21,10 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/WidgetTypeDetails.md b/pe/docs/WidgetTypeDetails.md index 9bd3b036..8d32c50a 100644 --- a/pe/docs/WidgetTypeDetails.md +++ b/pe/docs/WidgetTypeDetails.md @@ -27,7 +27,7 @@ A JSON value representing the Widget Type Details. ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### ResourceExportData | Name | Type | Description | Notes | @@ -51,7 +51,7 @@ A JSON value representing the Widget Type Details. `IMAGE` | `SCADA_SYMBOL` | `EXTENSION` | `MODULE` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/WidgetTypeExportData.md b/pe/docs/WidgetTypeExportData.md index 7aa38a79..33d4862d 100644 --- a/pe/docs/WidgetTypeExportData.md +++ b/pe/docs/WidgetTypeExportData.md @@ -14,7 +14,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityExportData | Name | Type | Description | Notes | @@ -71,10 +71,10 @@ | debugMode | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### RelationTypeGroup (enum) -`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` +`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` | `AGENT` #### CalculatedFieldType (enum) `SIMPLE` | `SCRIPT` | `GEOFENCING` | `ALARM` | `PROPAGATION` | `RELATED_ENTITIES_AGGREGATION` | `ENTITY_AGGREGATION` diff --git a/pe/docs/WidgetTypeId.md b/pe/docs/WidgetTypeId.md index cad054dd..1e28285d 100644 --- a/pe/docs/WidgetTypeId.md +++ b/pe/docs/WidgetTypeId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/WidgetTypeInfo.md b/pe/docs/WidgetTypeInfo.md index 72626185..61c5d2d9 100644 --- a/pe/docs/WidgetTypeInfo.md +++ b/pe/docs/WidgetTypeInfo.md @@ -25,7 +25,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### WidgetBundleInfo | Name | Type | Description | Notes | @@ -34,7 +34,7 @@ | name | String | Entity Name | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/WidgetsBundle.md b/pe/docs/WidgetsBundle.md index 070c5a3f..5a4a3510 100644 --- a/pe/docs/WidgetsBundle.md +++ b/pe/docs/WidgetsBundle.md @@ -25,10 +25,10 @@ A JSON value representing the Widget Bundle. ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/WidgetsBundleExportData.md b/pe/docs/WidgetsBundleExportData.md index c50c513e..957e5cef 100644 --- a/pe/docs/WidgetsBundleExportData.md +++ b/pe/docs/WidgetsBundleExportData.md @@ -16,7 +16,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### EntityExportData | Name | Type | Description | Notes | @@ -73,10 +73,10 @@ | debugMode | Boolean | | [optional] | #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### RelationTypeGroup (enum) -`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` +`COMMON` | `DASHBOARD` | `FROM_ENTITY_GROUP` | `RULE_CHAIN` | `RULE_NODE` | `EDGE` | `EDGE_AUTO_ASSIGN_RULE_CHAIN` | `AGENT` #### CalculatedFieldType (enum) `SIMPLE` | `SCRIPT` | `GEOFENCING` | `ALARM` | `PROPAGATION` | `RELATED_ENTITIES_AGGREGATION` | `ENTITY_AGGREGATION` diff --git a/pe/docs/WidgetsBundleId.md b/pe/docs/WidgetsBundleId.md index 8a5cfe1c..3f46c59b 100644 --- a/pe/docs/WidgetsBundleId.md +++ b/pe/docs/WidgetsBundleId.md @@ -17,7 +17,7 @@ > **EntityId**: `{entityType: EntityType, id: UUID}` — base type for all entity identifiers. #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) --- diff --git a/pe/docs/ZoneGroupConfiguration.md b/pe/docs/ZoneGroupConfiguration.md index 872fe2f4..543a2021 100644 --- a/pe/docs/ZoneGroupConfiguration.md +++ b/pe/docs/ZoneGroupConfiguration.md @@ -19,7 +19,7 @@ ## Referenced Types -> **EntityId types** (`AdminSettingsId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. +> **EntityId types** (`AdminSettingsId`, `AgentAppEventId`, `AgentAppProfileId`, `AgentAppUnitId`, `AgentApplicationId`, `AgentBulkActionId`, `AgentId`, `AgentProfileId`, `AiModelId`, `AlarmId`, `ApiKeyId`, `ApiUsageStateId`, `AssetId`, `AssetProfileId`, `BlobEntityId`, `CalculatedFieldId`, `ConverterId`, `CustomerId`, `DashboardId`, `DeviceId`, `DeviceProfileId`, `DomainId`, `EdgeId`, `EntityGroupId`, `EntityViewId`, `GroupPermissionId`, `IntegrationId`, `JobId`, `MobileAppBundleId`, `MobileAppId`, `NotificationId`, `NotificationRequestId`, `NotificationRuleId`, `NotificationTargetId`, `NotificationTemplateId`, `OAuth2ClientId`, `OtaPackageId`, `QueueId`, `QueueStatsId`, `ReportId`, `ReportTemplateId`, `RoleId`, `RpcId`, `RuleChainId`, `RuleNodeId`, `SchedulerEventId`, `SecretId`, `TbResourceId`, `TenantId`, `TenantProfileId`, `UserId`, `WidgetTypeId`, `WidgetsBundleId`, etc.): `{entityType: EntityType, id: UUID}` — all EntityId subtypes share this structure. #### CfArgumentDynamicSourceConfiguration | Name | Type | Description | Notes | @@ -41,7 +41,7 @@ `FROM` | `TO` #### EntityType (enum) -`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (46 values total) +`TENANT` | `CUSTOMER` | `USER` | `DASHBOARD` | `ASSET` | `DEVICE` | `ALARM` | `ENTITY_GROUP` | `CONVERTER` | `INTEGRATION` | … (53 values total) #### RelationPathLevel | Name | Type | Description | Notes | diff --git a/pe/spec/openapi.json b/pe/spec/openapi.json index 9970f3d7..23e18a05 100644 --- a/pe/spec/openapi.json +++ b/pe/spec/openapi.json @@ -16,7 +16,7 @@ }, "servers": [ { - "url": "http://localhost:43909", + "url": "http://localhost:39233", "description": "Generated server url" } ], @@ -25,6 +25,30 @@ "name": "admin-controller", "description": "Admin Controller" }, + { + "name": "agent-app-profile-controller", + "description": "Agent App Profile Controller" + }, + { + "name": "agent-app-template-controller", + "description": "Agent App Template Controller" + }, + { + "name": "agent-application-controller", + "description": "Agent Application Controller" + }, + { + "name": "agent-bulk-action-controller", + "description": "Agent Bulk Action Controller" + }, + { + "name": "agent-controller", + "description": "Agent Controller" + }, + { + "name": "agent-profile-controller", + "description": "Agent Profile Controller" + }, { "name": "ai-chat-controller", "description": "Ai Chat Controller" @@ -3802,30 +3826,31 @@ ] } }, - "/api/ai/chats": { + "/api/agent/app/profile": { "post": { "tags": [ - "ai-chat-controller" + "agent-app-profile-controller" ], - "summary": "createChat", - "operationId": "createChat", + "summary": "Create or Update Agent Application Profile (saveAgentAppProfile)", + "description": "Creates or updates an agent application profile.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "saveAgentAppProfile", "requestBody": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/JsonNode" + "$ref": "#/components/schemas/AgentAppProfile" } } }, "required": true }, "responses": { - "201": { - "description": "Created", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/JsonNode" + "$ref": "#/components/schemas/AgentAppProfile" } } } @@ -3946,27 +3971,35 @@ ] } }, - "/api/ai/chats/{chatId}": { - "delete": { + "/api/agent/app/profile/info/{profileId}": { + "get": { "tags": [ - "ai-chat-controller" + "agent-app-profile-controller" ], - "summary": "deleteChat", - "operationId": "deleteChat", + "summary": "Get Agent Application Profile Info (getAgentAppProfileInfoById)", + "description": "Fetch the Agent Application Profile Info by Id. Readable by any tenant admin without AGENT_APP_PROFILE permission, so agent/application screens can resolve the linked profile. Returns the full profile, config and arguments included - an application profile carries deployment configuration rather than credentials, so it is not gated like other profiles.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getAgentAppProfileInfoById", "parameters": [ { - "name": "chatId", + "name": "profileId", "in": "path", + "description": "Profile Id", "required": true, "schema": { - "type": "string", - "format": "uuid" + "type": "string" } } ], "responses": { - "204": { - "description": "No Content" + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AgentAppProfileInfo" + } + } + } }, "400": { "description": "Bad Request", @@ -4082,38 +4115,56 @@ "ApiKeyForm": [] } ] - }, - "patch": { + } + }, + "/api/agent/app/profile/materialize/{appType}/{templateVersion}": { + "post": { "tags": [ - "ai-chat-controller" + "agent-app-profile-controller" ], - "summary": "updateChat", - "operationId": "updateChat", + "summary": "Create Agent Application Profile from template (materializeAgentAppProfile)", + "description": "Creates an agent application profile from the default configuration of the template with the given app type and version. Used to materialize a predefined (virtual) profile shown in the UI into a real profile on first use. If a profile with the given app type and template version already exists, the existing profile is returned (the oldest one by created time) instead of creating a new one.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "materializeAgentAppProfile", "parameters": [ { - "name": "chatId", + "name": "appType", "in": "path", + "description": "Application type, e.g. 'EDGE', 'GATEWAY', 'GENERIC'", "required": true, "schema": { - "type": "string", - "format": "uuid" + "$ref": "#/components/schemas/AgentApplicationType" + } + }, + { + "name": "templateVersion", + "in": "path", + "description": "The template version to materialize (e.g. '4.3.1.2EDGEPE')", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "composeType", + "in": "query", + "description": "The compose type to select from the template (e.g. 'in_memory', 'kafka'). Defaults to the template's first compose type.", + "required": false, + "schema": { + "type": "string" } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/JsonNode" + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AgentAppProfile" + } } } }, - "required": true - }, - "responses": { - "204": { - "description": "No Content" - }, "400": { "description": "Bad Request", "content": { @@ -4126,7 +4177,7 @@ "summary": "Bad Request", "value": { "status": 400, - "message": "Invalid UUID string: 123", + "message": "Invalid request body", "errorCode": 31, "timestamp": 1609459200000 } @@ -4230,21 +4281,22 @@ ] } }, - "/api/ai/chats/{chatId}/messages": { + "/api/agent/app/profile/{profileId}": { "get": { "tags": [ - "ai-chat-controller" + "agent-app-profile-controller" ], - "summary": "getChatMessages", - "operationId": "getChatMessages", + "summary": "Get Agent Application Profile (getAgentAppProfileById)", + "description": "Fetch the Agent Application Profile by Id.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getAgentAppProfileById", "parameters": [ { - "name": "chatId", + "name": "profileId", "in": "path", + "description": "Profile Id", "required": true, "schema": { - "type": "string", - "format": "uuid" + "type": "string" } } ], @@ -4254,7 +4306,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/JsonNode" + "$ref": "#/components/schemas/AgentAppProfile" } } } @@ -4374,58 +4426,175 @@ } ] }, - "post": { + "delete": { "tags": [ - "ai-chat-controller" + "agent-app-profile-controller" ], - "summary": "sendChatMessage", - "operationId": "sendChatMessage", + "summary": "Delete Agent Application Profile (deleteAgentAppProfile)", + "description": "Deletes the agent application profile. Cannot delete if referenced by applications.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "deleteAgentAppProfile", "parameters": [ { - "name": "chatId", + "name": "profileId", "in": "path", + "description": "Profile Id", "required": true, "schema": { - "type": "string", - "format": "uuid" + "type": "string" } + } + ], + "responses": { + "200": { + "description": "OK" }, - { - "name": "X-Authorization", - "in": "header", - "required": true, - "schema": { - "type": "string" + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } } }, - { - "name": "Accept-Language", - "in": "header", - "required": false, - "schema": { - "type": "string" + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/JsonNode" + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } } } }, - "required": true + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/agent/app/profiles": { + "get": { + "tags": [ + "agent-app-profile-controller" + ], + "summary": "Get Agent Application Profiles By Ids (getAgentAppProfilesByIds)", + "description": "Requested agent application profiles must be owned by tenant which is performing the request. \n\n Security check is performed to verify that the user has 'READ' permission for the entity (entities).", + "operationId": "getAgentAppProfilesByIds", + "parameters": [ + { + "name": "agentAppProfileIds", + "in": "query", + "description": "A list of agent application profile ids, separated by comma ','", + "required": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], "responses": { "200": { "description": "OK", "content": { - "text/event-stream": { + "application/json": { "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/ServerSentEventString" + "$ref": "#/components/schemas/AgentAppProfile" } } } @@ -4443,7 +4612,7 @@ "summary": "Bad Request", "value": { "status": 400, - "message": "Invalid request body", + "message": "Invalid UUID string: 123", "errorCode": 31, "timestamp": 1609459200000 } @@ -4547,30 +4716,71 @@ ] } }, - "/api/ai/chats/{chatType}": { - "get": { + "/api/agent/app/profiles/merge/{templateVersion}/preview": { + "post": { "tags": [ - "ai-chat-controller" + "agent-app-profile-controller" ], - "summary": "listChats", - "operationId": "listChats", + "summary": "Merge template into application profile for preview (mergeAgentAppProfileForPreview)", + "description": "Merges the specified template into an agent application profile for preview purposes. The compose type determines which compose configuration variant from the template is used. \n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "mergeAgentAppProfileForPreview", "parameters": [ { - "name": "chatType", + "name": "templateVersion", "in": "path", + "description": "The template version to merge (e.g. '4.3.1.2EDGEPE')", "required": true, "schema": { - "$ref": "#/components/schemas/ChatType" + "type": "string" + } + }, + { + "name": "composeType", + "in": "query", + "description": "The compose type to select from the template (e.g. 'monolith', 'microservices')", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "actionType", + "in": "query", + "description": "The event action this merge previews (e.g. UPGRADE). Drives action-specific merge rules.", + "required": false, + "schema": { + "$ref": "#/components/schemas/AgentAppEventActionType" + } + }, + { + "name": "setHostValues", + "in": "query", + "description": "Whether to auto-fill host values (e.g. CLOUD_RPC_HOST) from the platform base URL. Should be true only for the install preview; keep false when previewing the saved compose of an existing profile to preserve user-configured host values.", + "required": false, + "schema": { + "type": "boolean", + "default": false } } ], + "requestBody": { + "description": "Agent application profile to merge template with", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AgentAppProfile" + } + } + }, + "required": true + }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/JsonNode" + "$ref": "#/components/schemas/AgentAppProfile" } } } @@ -4587,7 +4797,7 @@ "summary": "Bad Request", "value": { "status": 400, - "message": "Invalid UUID string: 123", + "message": "Invalid request body", "errorCode": 31, "timestamp": 1609459200000 } @@ -4691,49 +4901,35 @@ ] } }, - "/api/ai/devices/{deviceId}/dashboard": { - "post": { + "/api/agent/app/profiles/{appType}": { + "get": { "tags": [ - "ai-device-dashboard-controller" + "agent-app-profile-controller" ], - "summary": "generateDashboard", - "operationId": "generateDashboard", + "summary": "Get Agent Application Profiles by app type (getAgentAppProfilesByAppType)", + "description": "Returns a list of agent application profiles filtered by application type.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getAgentAppProfilesByAppType", "parameters": [ { - "name": "deviceId", + "name": "appType", "in": "path", + "description": "Application type, e.g. 'EDGE', 'GATEWAY', 'GENERIC'", "required": true, "schema": { - "type": "string", - "format": "uuid" - } - }, - { - "name": "X-Authorization", - "in": "header", - "required": true, - "schema": { - "type": "string" + "$ref": "#/components/schemas/AgentApplicationType" } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/JsonNode" - } - } - }, - "required": true - }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/JsonNode" + "type": "array", + "items": { + "$ref": "#/components/schemas/AgentAppProfileInfo" + } } } } @@ -4750,7 +4946,7 @@ "summary": "Bad Request", "value": { "status": 400, - "message": "Invalid request body", + "message": "Invalid UUID string: 123", "errorCode": 31, "timestamp": 1609459200000 } @@ -4854,14 +5050,14 @@ ] } }, - "/api/ai/model": { + "/api/tenant/agent/app/profiles": { "get": { "tags": [ - "ai-model-controller" + "agent-app-profile-controller" ], - "summary": "Get AI models (getAiModels)", - "description": "Returns a page of AI models. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' authority.", - "operationId": "getAiModels", + "summary": "Get Tenant Agent Application Profiles (getTenantAgentAppProfiles)", + "description": "Returns a page of agent application profiles owned by tenant.You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getTenantAgentAppProfiles", "parameters": [ { "name": "pageSize", @@ -4886,7 +5082,7 @@ { "name": "textSearch", "in": "query", - "description": "The case insensitive 'substring' filter based on the AI model name, provider and model ID.", + "description": "Optional search text", "required": false, "schema": { "type": "string" @@ -4901,9 +5097,7 @@ "type": "string", "enum": [ "createdTime", - "name", - "provider", - "modelId" + "name" ] } }, @@ -4927,7 +5121,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageDataAiModel" + "$ref": "#/components/schemas/PageDataAgentAppProfile" } } } @@ -5046,31 +5240,207 @@ "ApiKeyForm": [] } ] - }, - "post": { + } + }, + "/api/agent/app/template/{appType}/{configType}/latest": { + "get": { "tags": [ - "ai-model-controller" + "agent-app-template-controller" ], - "summary": "Create or update AI model (saveAiModel)", - "description": "Creates or updates an AI model record.\n\n• **Create:** Omit the `id` to create a new record. The platform assigns a UUID to the new record and returns it in the `id` field of the response.\n\n• **Update:** Include an existing `id` to modify that record. If no matching record exists, the API responds with **404 Not Found**.\n\nTenant ID for the AI model will be taken from the authenticated user making the request, regardless of any value provided in the request body.\n\nAvailable for users with 'TENANT_ADMIN' authority.", - "operationId": "saveAiModel", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AiModel" + "summary": "Get Agent App Template (getLatestAgentAppTemplateByType)", + "description": "Fetch the latest Agent App Template object for the given app type and config type.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getLatestAgentAppTemplateByAppTypeAndConfigType", + "parameters": [ + { + "name": "appType", + "in": "path", + "description": "A string value representing the agent application type, e.g. 'EDGE', 'GATEWAY'", + "required": true, + "schema": { + "$ref": "#/components/schemas/AgentApplicationType" + } + }, + { + "name": "configType", + "in": "path", + "description": "A string value representing the agent configuration type, e.g. 'DOCKER_COMPOSE'", + "required": true, + "schema": { + "$ref": "#/components/schemas/AgentAppConfigType" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AgentAppTemplate" + } } } }, - "required": true + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/agent/app/template/{appType}/{configType}/version/{currentVersion}": { + "get": { + "tags": [ + "agent-app-template-controller" + ], + "summary": "Get Agent App Template by current version (getAgentAppTemplateByCurrentVersion)", + "description": "Fetch the Agent App Template object based on the provided app type, config type, and current version. Matches the version exactly, including a floating tag used as a version such as the gateway 'latest' tag.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getAgentAppTemplateByCurrentVersion", + "parameters": [ + { + "name": "appType", + "in": "path", + "description": "A string value representing the agent application type, e.g. 'EDGE', 'GATEWAY'", + "required": true, + "schema": { + "$ref": "#/components/schemas/AgentApplicationType" + } + }, + { + "name": "configType", + "in": "path", + "description": "A string value representing the agent configuration type, e.g. 'DOCKER_COMPOSE'", + "required": true, + "schema": { + "$ref": "#/components/schemas/AgentAppConfigType" + } + }, + { + "name": "currentVersion", + "in": "path", + "description": "A string value representing the current version of the template, e.g. '1.0.0'", + "required": true, + "schema": { + "type": "string" + } + } + ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AiModel" + "$ref": "#/components/schemas/AgentAppTemplate" } } } @@ -5087,7 +5457,7 @@ "summary": "Bad Request", "value": { "status": 400, - "message": "Invalid request body", + "message": "Invalid UUID string: 123", "errorCode": 31, "timestamp": 1609459200000 } @@ -5191,31 +5561,24 @@ ] } }, - "/api/ai/model/chat": { - "post": { + "/api/agent/app/templates": { + "get": { "tags": [ - "ai-model-controller" + "agent-app-template-controller" ], - "summary": "Send request to AI chat model (sendChatRequest)", - "description": "Submits a single prompt - made up of an optional system message and a required user message - to the specified AI chat model and returns either the generated answer or an error envelope.\n\nAvailable for users with 'TENANT_ADMIN' authority.", - "operationId": "sendChatRequest", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TbChatRequest" - } - } - }, - "required": true - }, + "summary": "Get all Agent App Templates (getAgentAppTemplates)", + "description": "Returns a list of all agent app templates available for the current tenant.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getAgentAppTemplates", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TbChatResponse" + "type": "array", + "items": { + "$ref": "#/components/schemas/AgentAppTemplate" + } } } } @@ -5232,7 +5595,7 @@ "summary": "Bad Request", "value": { "status": 400, - "message": "Invalid request body", + "message": "Invalid UUID string: 123", "errorCode": 31, "timestamp": 1609459200000 } @@ -5336,171 +5699,32 @@ ] } }, - "/api/ai/model/{modelUuid}": { + "/api/agent/app/templates/{appType}/{configType}": { "get": { "tags": [ - "ai-model-controller" + "agent-app-template-controller" ], - "summary": "Get AI model by ID (getAiModelById)", - "description": "Fetches an AI model record by its `id`.\n\nAvailable for users with 'TENANT_ADMIN' authority.", - "operationId": "getAiModelById", + "summary": "Get Agent App Templates by type (getAgentAppTemplatesByAppType)", + "description": "Returns a list of agent app templates filtered by application type and config type.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getAgentAppTemplatesByAppType", "parameters": [ { - "name": "modelUuid", + "name": "appType", "in": "path", - "description": "ID of the AI model record", + "description": "A string value representing the agent application type, e.g. 'EDGE', 'GATEWAY'", "required": true, "schema": { - "type": "string", - "format": "uuid" - }, - "example": "de7900d4-30e2-11f0-9cd2-0242ac120002" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AiModel" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ThingsboardErrorResponse" - }, - "examples": { - "error-code-400": { - "summary": "Bad Request", - "value": { - "status": 400, - "message": "Invalid UUID string: 123", - "errorCode": 31, - "timestamp": 1609459200000 - } - } - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ThingsboardErrorResponse" - }, - "examples": { - "error-code-401": { - "summary": "Unauthorized", - "value": { - "status": 401, - "message": "Authentication failed", - "errorCode": 10, - "timestamp": 1609459200000 - } - } - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ThingsboardErrorResponse" - }, - "examples": { - "error-code-403": { - "summary": "Forbidden", - "value": { - "status": 403, - "message": "You don't have permission to perform this operation!", - "errorCode": 20, - "timestamp": 1609459200000 - } - } - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ThingsboardErrorResponse" - }, - "examples": { - "error-code-404": { - "summary": "Not Found", - "value": { - "status": 404, - "message": "Requested item wasn't found!", - "errorCode": 32, - "timestamp": 1609459200000 - } - } - } - } + "$ref": "#/components/schemas/AgentApplicationType" } }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ThingsboardErrorResponse" - }, - "examples": { - "error-code-429": { - "summary": "Too Many Requests", - "value": { - "status": 429, - "message": "Too many requests for current tenant!", - "errorCode": 33, - "timestamp": 1609459200000 - } - } - } - } - } - } - }, - "security": [ - { - "HttpLoginForm": [] - }, { - "ApiKeyForm": [] - } - ] - }, - "delete": { - "tags": [ - "ai-model-controller" - ], - "summary": "Delete AI model by ID (deleteAiModelById)", - "description": "Deletes the AI model record by its `id`. If a record with the specified `id` exists, the record is deleted and the endpoint returns `true`. If no such record exists, the endpoint returns `false`.\n\nAvailable for users with 'TENANT_ADMIN' authority.", - "operationId": "deleteAiModelById", - "parameters": [ - { - "name": "modelUuid", + "name": "configType", "in": "path", - "description": "ID of the AI model record", + "description": "A string value representing the agent configuration type, e.g. 'DOCKER_COMPOSE'", "required": true, "schema": { - "type": "string", - "format": "uuid" - }, - "example": "de7900d4-30e2-11f0-9cd2-0242ac120002" + "$ref": "#/components/schemas/AgentAppConfigType" + } } ], "responses": { @@ -5509,7 +5733,10 @@ "content": { "application/json": { "schema": { - "type": "boolean" + "type": "array", + "items": { + "$ref": "#/components/schemas/AgentAppTemplate" + } } } } @@ -5630,20 +5857,32 @@ ] } }, - "/api/ai/solution/infos": { - "get": { + "/api/agent/app": { + "put": { "tags": [ - "ai-solution-controller" + "agent-application-controller" ], - "summary": "getSolutions", - "operationId": "getSolutions", + "summary": "Update Agent Application (saveAgentApplication)", + "description": "Updates the Agent Application.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "updateAgentApplication", + "requestBody": { + "description": "A JSON value representing the agent application.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AgentApplication" + } + } + }, + "required": true + }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/JsonNode" + "$ref": "#/components/schemas/AgentApplication" } } } @@ -5764,20 +6003,32 @@ ] } }, - "/api/ai/solution/start": { + "/api/agent/app/event": { "post": { "tags": [ - "ai-solution-controller" + "agent-application-controller" ], - "summary": "startNew", - "operationId": "startNew", + "summary": "Install Agent Application (installAgentApp)", + "description": "Creates a new agent application and an INSTALL event in a single operation. Returns both the created application and the INSTALL event so the caller can open a progress view without a second round-trip. The request body must include the application object.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "installAgentApp", + "requestBody": { + "description": "A JSON value representing the install event request with the application.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AgentAppEventRequest" + } + } + }, + "required": true + }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/JsonNode" + "$ref": "#/components/schemas/AgentAppInstallResponse" } } } @@ -5898,21 +6149,22 @@ ] } }, - "/api/ai/solution/{solutionId}": { + "/api/agent/app/event/{agentAppEventId}": { "get": { "tags": [ - "ai-solution-controller" + "agent-application-controller" ], - "summary": "getSolution", - "operationId": "getSolution", + "summary": "Get Agent Application Event (getAgentAppEventById)", + "description": "Fetches a single agent application event by id. Works for orphan events whose application has been deleted (application_id is nullable).\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getAgentAppEventById", "parameters": [ { - "name": "solutionId", + "name": "agentAppEventId", "in": "path", + "description": "A string value representing the agent app event id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", "required": true, "schema": { - "type": "string", - "format": "uuid" + "type": "string" } } ], @@ -5922,7 +6174,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/JsonNode" + "$ref": "#/components/schemas/AgentAppEvent" } } } @@ -6041,27 +6293,200 @@ "ApiKeyForm": [] } ] - }, - "delete": { + } + }, + "/api/agent/app/managedRelatedEntities/{entityType}": { + "get": { "tags": [ - "ai-solution-controller" + "agent-application-controller" ], - "summary": "deleteSolution", - "operationId": "deleteSolution", + "summary": "Get Managed Related Entity Ids (getManagedRelatedEntityIds)", + "description": "Returns the ids of entities of the given type that are already linked to an agent application.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getManagedRelatedEntityIds", "parameters": [ { - "name": "solutionId", + "name": "entityType", "in": "path", + "description": "Related entity type (EDGE or DEVICE)", "required": true, "schema": { - "type": "string", - "format": "uuid" + "type": "string" } } ], "responses": { "200": { - "description": "OK" + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/AdminSettingsId" + }, + { + "$ref": "#/components/schemas/AgentAppEventId" + }, + { + "$ref": "#/components/schemas/AgentAppProfileId" + }, + { + "$ref": "#/components/schemas/AgentAppUnitId" + }, + { + "$ref": "#/components/schemas/AgentApplicationId" + }, + { + "$ref": "#/components/schemas/AgentBulkActionId" + }, + { + "$ref": "#/components/schemas/AgentId" + }, + { + "$ref": "#/components/schemas/AgentProfileId" + }, + { + "$ref": "#/components/schemas/AiModelId" + }, + { + "$ref": "#/components/schemas/AlarmId" + }, + { + "$ref": "#/components/schemas/ApiKeyId" + }, + { + "$ref": "#/components/schemas/ApiUsageStateId" + }, + { + "$ref": "#/components/schemas/AssetId" + }, + { + "$ref": "#/components/schemas/AssetProfileId" + }, + { + "$ref": "#/components/schemas/BlobEntityId" + }, + { + "$ref": "#/components/schemas/CalculatedFieldId" + }, + { + "$ref": "#/components/schemas/ConverterId" + }, + { + "$ref": "#/components/schemas/CustomerId" + }, + { + "$ref": "#/components/schemas/DashboardId" + }, + { + "$ref": "#/components/schemas/DeviceId" + }, + { + "$ref": "#/components/schemas/DeviceProfileId" + }, + { + "$ref": "#/components/schemas/DomainId" + }, + { + "$ref": "#/components/schemas/EdgeId" + }, + { + "$ref": "#/components/schemas/EntityGroupId" + }, + { + "$ref": "#/components/schemas/EntityViewId" + }, + { + "$ref": "#/components/schemas/GroupPermissionId" + }, + { + "$ref": "#/components/schemas/IntegrationId" + }, + { + "$ref": "#/components/schemas/JobId" + }, + { + "$ref": "#/components/schemas/MobileAppBundleId" + }, + { + "$ref": "#/components/schemas/MobileAppId" + }, + { + "$ref": "#/components/schemas/NotificationId" + }, + { + "$ref": "#/components/schemas/NotificationRequestId" + }, + { + "$ref": "#/components/schemas/NotificationRuleId" + }, + { + "$ref": "#/components/schemas/NotificationTargetId" + }, + { + "$ref": "#/components/schemas/NotificationTemplateId" + }, + { + "$ref": "#/components/schemas/OAuth2ClientId" + }, + { + "$ref": "#/components/schemas/OtaPackageId" + }, + { + "$ref": "#/components/schemas/QueueId" + }, + { + "$ref": "#/components/schemas/QueueStatsId" + }, + { + "$ref": "#/components/schemas/ReportId" + }, + { + "$ref": "#/components/schemas/ReportTemplateId" + }, + { + "$ref": "#/components/schemas/RoleId" + }, + { + "$ref": "#/components/schemas/RpcId" + }, + { + "$ref": "#/components/schemas/RuleChainId" + }, + { + "$ref": "#/components/schemas/RuleNodeId" + }, + { + "$ref": "#/components/schemas/SchedulerEventId" + }, + { + "$ref": "#/components/schemas/SecretId" + }, + { + "$ref": "#/components/schemas/TbResourceId" + }, + { + "$ref": "#/components/schemas/TenantId" + }, + { + "$ref": "#/components/schemas/TenantProfileId" + }, + { + "$ref": "#/components/schemas/UserId" + }, + { + "$ref": "#/components/schemas/WidgetTypeId" + }, + { + "$ref": "#/components/schemas/WidgetsBundleId" + } + ] + } + } + } + } }, "400": { "description": "Bad Request", @@ -6179,184 +6604,97 @@ ] } }, - "/api/ai/solution/{solutionId}/create": { + "/api/agent/app/merge/{templateVersion}/preview": { "post": { "tags": [ - "ai-solution-controller" + "agent-application-controller" ], - "summary": "createSolution", - "operationId": "createSolution", + "summary": "Merge template into application for preview (mergeAgentApplicationForPreview)", + "description": "Merges the specified template into an agent application for preview purposes. If no application is provided in the body, a new one is created from the template. The compose type determines which compose configuration variant from the template is used. Optionally provide relatedEntityType and relatedEntityId to auto-fill entity credentials (Edge routing key/secret or Gateway access token) into the compose.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "mergeAgentApplicationForPreview", "parameters": [ { - "name": "solutionId", + "name": "templateVersion", "in": "path", + "description": "The template version to merge (e.g. '4.3.1.2EDGEPE')", "required": true, "schema": { - "type": "string", - "format": "uuid" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/JsonNode" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ThingsboardErrorResponse" - }, - "examples": { - "error-code-400": { - "summary": "Bad Request", - "value": { - "status": 400, - "message": "Invalid request body", - "errorCode": 31, - "timestamp": 1609459200000 - } - } - } - } + "type": "string" } }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ThingsboardErrorResponse" - }, - "examples": { - "error-code-401": { - "summary": "Unauthorized", - "value": { - "status": 401, - "message": "Authentication failed", - "errorCode": 10, - "timestamp": 1609459200000 - } - } - } - } + { + "name": "appType", + "in": "query", + "description": "Application type (EDGE, GATEWAY, GENERIC). Required when no application body is supplied.", + "required": false, + "schema": { + "$ref": "#/components/schemas/AgentApplicationType" } }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ThingsboardErrorResponse" - }, - "examples": { - "error-code-403": { - "summary": "Forbidden", - "value": { - "status": 403, - "message": "You don't have permission to perform this operation!", - "errorCode": 20, - "timestamp": 1609459200000 - } - } - } - } + { + "name": "composeType", + "in": "query", + "description": "The compose type to select from the template (e.g. 'monolith', 'microservices')", + "required": false, + "schema": { + "type": "string" } }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ThingsboardErrorResponse" - }, - "examples": { - "error-code-404": { - "summary": "Not Found", - "value": { - "status": 404, - "message": "Requested item wasn't found!", - "errorCode": 32, - "timestamp": 1609459200000 - } - } - } - } + { + "name": "actionType", + "in": "query", + "description": "The event action this merge previews (e.g. UPGRADE). Drives action-specific merge rules.", + "required": false, + "schema": { + "$ref": "#/components/schemas/AgentAppEventActionType" } }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ThingsboardErrorResponse" - }, - "examples": { - "error-code-429": { - "summary": "Too Many Requests", - "value": { - "status": 429, - "message": "Too many requests for current tenant!", - "errorCode": 33, - "timestamp": 1609459200000 - } - } - } - } - } - } - }, - "security": [ { - "HttpLoginForm": [] + "name": "setHostValues", + "in": "query", + "description": "Whether to auto-fill host values (e.g. CLOUD_RPC_HOST) from the platform base URL. Should be true only for the install preview; keep false when previewing the saved compose of an existing application to preserve user-configured host values.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } }, { - "ApiKeyForm": [] - } - ] - } - }, - "/api/ai/solution/{solutionId}/install": { - "post": { - "tags": [ - "ai-solution-controller" - ], - "summary": "installSolution", - "operationId": "installSolution", - "parameters": [ - { - "name": "solutionId", - "in": "path", - "required": true, + "name": "relatedEntityType", + "in": "query", + "description": "Related entity type (EDGE or DEVICE)", + "required": false, "schema": { - "type": "string", - "format": "uuid" + "type": "string" } }, { - "name": "X-Authorization", - "in": "header", - "required": true, + "name": "relatedEntityId", + "in": "query", + "description": "Related entity id", + "required": false, "schema": { "type": "string" } } ], + "requestBody": { + "description": "Optional agent application to merge with. If null, a new application is created from the template.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AgentApplication" + } + } + } + }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/JsonNode" + "$ref": "#/components/schemas/AgentApplication" } } } @@ -6477,27 +6815,62 @@ ] } }, - "/api/ai/solution/{solutionId}/uninstall": { - "delete": { + "/api/agent/app/relatedEntityCandidates": { + "get": { "tags": [ - "ai-solution-controller" + "agent-application-controller" ], - "summary": "uninstallSolution", - "operationId": "uninstallSolution", + "summary": "Get Related Entity Candidates (getRelatedEntityCandidates)", + "description": "Returns a page of Edges or Gateway Devices (devices with 'gateway' set in additional info) that can be linked to an agent application. Entities already linked to another application are excluded unless passed as 'currentEntityId'. Results are sorted by name. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getRelatedEntityCandidates", "parameters": [ { - "name": "solutionId", - "in": "path", + "name": "entityType", + "in": "query", + "description": "Related entity type (EDGE or DEVICE)", "required": true, "schema": { "type": "string", - "format": "uuid" + "enum": [ + "EDGE", + "DEVICE" + ] } }, { - "name": "X-Authorization", - "in": "header", + "name": "pageSize", + "in": "query", + "description": "Maximum amount of entities in a one page", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "page", + "in": "query", + "description": "Sequence number of page starting from 0", "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "textSearch", + "in": "query", + "description": "Optional String value representing entity name", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "currentEntityId", + "in": "query", + "description": "Optional id of the entity currently linked to the edited application; it is kept in the result even though it is managed", + "required": false, "schema": { "type": "string" } @@ -6509,7 +6882,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/JsonNode" + "$ref": "#/components/schemas/PageDataEntityInfo" } } } @@ -6630,49 +7003,32 @@ ] } }, - "/api/ai/solution/{solutionId}/{dataKey}": { - "put": { + "/api/agent/app/{agentApplicationId}": { + "get": { "tags": [ - "ai-solution-controller" + "agent-application-controller" ], - "summary": "updateData", - "operationId": "updateData", + "summary": "Get Agent Application (getAgentApplicationById)", + "description": "Fetch the Agent Application object based on the provided Agent Application Id.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getAgentApplicationById", "parameters": [ { - "name": "solutionId", - "in": "path", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } - }, - { - "name": "dataKey", + "name": "agentApplicationId", "in": "path", + "description": "A string value representing the agent application id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", "required": true, "schema": { "type": "string" } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/JsonNode" - } - } - }, - "required": true - }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/JsonNode" + "$ref": "#/components/schemas/AgentApplicationInfo" } } } @@ -6793,49 +7149,40 @@ ] } }, - "/api/ai/solution/{solutionId}/{step}/chat": { + "/api/agent/app/{agentApplicationId}/attach/{profileId}": { "post": { "tags": [ - "ai-solution-controller" + "agent-application-controller" ], - "summary": "chat", - "operationId": "chat", + "summary": "Attach Application to Profile (attachToProfile)", + "description": "Re-attaches the application to a profile. The application adopts the profile's template version without running any upgrade or downgrade steps. After attachment the profile becomes the source of the config; the app's own credentials are carried over.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "attachToProfile", "parameters": [ { - "name": "solutionId", + "name": "agentApplicationId", "in": "path", + "description": "A string value representing the agent application id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", "required": true, "schema": { - "type": "string", - "format": "uuid" + "type": "string" } }, { - "name": "step", + "name": "profileId", "in": "path", "required": true, "schema": { - "$ref": "#/components/schemas/SolutionStep" + "type": "string" } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "string" - } - } - }, - "required": true - }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/JsonNode" + "$ref": "#/components/schemas/AgentApplication" } } } @@ -6956,35 +7303,35 @@ ] } }, - "/api/ai/solution/{solutionId}/{step}/clear": { - "delete": { + "/api/agent/app/{agentApplicationId}/detach": { + "post": { "tags": [ - "ai-solution-controller" + "agent-application-controller" ], - "summary": "clearStep", - "operationId": "clearStep", + "summary": "Detach Application from Profile (detachFromProfile)", + "description": "Detaches the application from its profile. The application keeps the effective config it already carries (profile config with its own credentials merged in) and becomes standalone and editable.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "detachFromProfile", "parameters": [ { - "name": "solutionId", + "name": "agentApplicationId", "in": "path", + "description": "A string value representing the agent application id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", "required": true, "schema": { - "type": "string", - "format": "uuid" - } - }, - { - "name": "step", - "in": "path", - "required": true, - "schema": { - "$ref": "#/components/schemas/SolutionStep" + "type": "string" } } ], "responses": { "200": { - "description": "OK" + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AgentApplication" + } + } + } }, "400": { "description": "Bad Request", @@ -6998,7 +7345,7 @@ "summary": "Bad Request", "value": { "status": 400, - "message": "Invalid UUID string: 123", + "message": "Invalid request body", "errorCode": 31, "timestamp": 1609459200000 } @@ -7102,18 +7449,31 @@ ] } }, - "/api/ai/tools/resolve-approval": { + "/api/agent/app/{agentApplicationId}/event": { "post": { "tags": [ - "ai-tool-controller" + "agent-application-controller" + ], + "summary": "Execute Agent Application Event (createAgentAppEvent)", + "description": "Creates an event for the specified agent application. The action type determines the operation (UPDATE, DELETE, RESTART, UPGRADE, ROLLBACK). Step inputs can be provided for actions that require them. Returns the created event so the caller can open a progress view.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "createAgentAppEvent", + "parameters": [ + { + "name": "agentApplicationId", + "in": "path", + "description": "A string value representing the agent application id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, + "schema": { + "type": "string" + } + } ], - "summary": "resolveToolApproval", - "operationId": "resolveToolApproval", "requestBody": { + "description": "A JSON value representing the event request.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/JsonNode" + "$ref": "#/components/schemas/AgentAppEventRequest" } } }, @@ -7125,7 +7485,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/JsonNode" + "$ref": "#/components/schemas/AgentAppEvent" } } } @@ -7246,81 +7606,37 @@ ] } }, - "/api/alarm/{alarmId}/comment": { - "get": { + "/api/agent/app/{agentApplicationId}/event/{agentAppEventId}/cancel": { + "post": { "tags": [ - "alarm-comment-controller" + "agent-application-controller" ], - "summary": "Get Alarm comments (getAlarmComments)", - "description": "Returns a page of alarm comments for specified alarm. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority.", - "operationId": "getAlarmComments", + "summary": "Cancel Agent Application Event (cancelAgentAppEvent)", + "description": "Force-cancels an in-flight or pending agent application event, marking it as ERROR. Cannot cancel events that are already in a terminal state (FINISHED or ERROR).\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "cancelAgentAppEvent", "parameters": [ { - "name": "alarmId", + "name": "agentApplicationId", "in": "path", - "description": "A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "description": "A string value representing the agent application id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", "required": true, "schema": { "type": "string" } }, { - "name": "pageSize", - "in": "query", - "description": "Maximum amount of entities in a one page", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "page", - "in": "query", - "description": "Sequence number of page starting from 0", + "name": "agentAppEventId", + "in": "path", + "description": "A string value representing the agent app event id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", "required": true, "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "sortProperty", - "in": "query", - "description": "Property of entity to sort by", - "required": false, - "schema": { - "type": "string", - "enum": [ - "createdTime", - "id" - ] - } - }, - { - "name": "sortOrder", - "in": "query", - "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", - "required": false, - "schema": { - "type": "string", - "enum": [ - "ASC", - "DESC" - ] + "type": "string" } } ], "responses": { "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PageDataAlarmCommentInfo" - } - } - } + "description": "OK" }, "400": { "description": "Bad Request", @@ -7334,7 +7650,7 @@ "summary": "Bad Request", "value": { "status": 400, - "message": "Invalid UUID string: 123", + "message": "Invalid request body", "errorCode": 31, "timestamp": 1609459200000 } @@ -7436,43 +7752,107 @@ "ApiKeyForm": [] } ] - }, - "post": { + } + }, + "/api/agent/app/{agentApplicationId}/events": { + "get": { "tags": [ - "alarm-comment-controller" + "agent-application-controller" ], - "summary": "Create or update Alarm Comment ", - "description": "Creates or Updates the Alarm Comment. When creating comment, platform generates Alarm Comment Id as [time-based UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_1_(date-time_and_MAC_address)). The newly created Alarm Comment id will be present in the response. Specify existing Alarm Comment id to update the alarm. Referencing non-existing Alarm Comment Id will cause 'Not Found' error. \n\n To create new Alarm comment entity it is enough to specify 'comment' json element with 'text' node, for example: {\"comment\": { \"text\": \"my comment\"}}. \n\n If comment type is not specified the default value 'OTHER' will be saved. If 'alarmId' or 'userId' specified in body it will be ignored.\n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority.", - "operationId": "saveAlarmComment", + "summary": "Get Agent Application Events (getAgentAppEvents)", + "description": "Returns a page of events for the specified agent application. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getAgentAppEvents", "parameters": [ { - "name": "alarmId", + "name": "agentApplicationId", "in": "path", - "description": "A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "description": "A string value representing the agent application id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", "required": true, "schema": { "type": "string" } - } - ], - "requestBody": { - "description": "A JSON value representing the comment.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AlarmComment" - } + }, + { + "name": "pageSize", + "in": "query", + "description": "Maximum amount of entities in a one page", + "required": true, + "schema": { + "type": "integer", + "format": "int32" } }, - "required": true - }, + { + "name": "page", + "in": "query", + "description": "Sequence number of page starting from 0", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "textSearch", + "in": "query", + "description": "Optional case-insensitive substring matched against the event action type and processing status", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "actionType", + "in": "query", + "description": "Optional action type filter", + "required": false, + "schema": { + "$ref": "#/components/schemas/AgentAppEventActionType" + } + }, + { + "name": "processingStatus", + "in": "query", + "description": "Optional processing status filter", + "required": false, + "schema": { + "$ref": "#/components/schemas/AgentProcessingStatus" + } + }, + { + "name": "sortProperty", + "in": "query", + "description": "Property of entity to sort by", + "required": false, + "schema": { + "type": "string", + "enum": [ + "createdTime", + "updatedTime" + ] + } + }, + { + "name": "sortOrder", + "in": "query", + "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", + "required": false, + "schema": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + } + } + ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AlarmComment" + "$ref": "#/components/schemas/PageDataAgentAppEvent" } } } @@ -7489,7 +7869,7 @@ "summary": "Bad Request", "value": { "status": 400, - "message": "Invalid request body", + "message": "Invalid UUID string: 123", "errorCode": 31, "timestamp": 1609459200000 } @@ -7593,28 +7973,19 @@ ] } }, - "/api/alarm/{alarmId}/comment/{commentId}": { + "/api/agent/app/{agentApplicationId}/relatedEntity": { "delete": { "tags": [ - "alarm-comment-controller" + "agent-application-controller" ], - "summary": "Delete Alarm comment (deleteAlarmComment)", - "description": "Deletes the Alarm comment. Referencing non-existing Alarm comment Id will cause an error.\n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority.", - "operationId": "deleteAlarmComment", + "summary": "Unassign Related Entity from Agent Application (unassignRelatedEntityFromAgentApp)", + "description": "Removes the link between an agent application and its related Edge or Gateway Device.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "unassignRelatedEntityFromAgentApp", "parameters": [ { - "name": "alarmId", - "in": "path", - "description": "A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "commentId", + "name": "agentApplicationId", "in": "path", - "description": "A string value representing the alarm comment id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "description": "A string value representing the agent application id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", "required": true, "schema": { "type": "string" @@ -7623,7 +7994,14 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AgentApplication" + } + } + } }, "400": { "description": "Bad Request", @@ -7741,32 +8119,50 @@ ] } }, - "/api/alarm": { + "/api/agent/app/{agentApplicationId}/relatedEntity/{entityType}/{entityId}": { "post": { "tags": [ - "alarm-controller" + "agent-application-controller" ], - "summary": "Create or Update Alarm (saveAlarm)", - "description": "Creates or Updates the Alarm. When creating alarm, platform generates Alarm Id as [time-based UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_1_(date-time_and_MAC_address)). The newly created Alarm id will be present in the response. Specify existing Alarm id to update the alarm. Referencing non-existing Alarm Id will cause 'Not Found' error. \n\nPlatform also deduplicate the alarms based on the entity id of originator and alarm 'type'. For example, if the user or system component create the alarm with the type 'HighTemperature' for device 'Device A' the new active alarm is created. If the user tries to create 'HighTemperature' alarm for the same device again, the previous alarm will be updated (the 'end_ts' will be set to current timestamp). If the user clears the alarm (see 'Clear Alarm(clearAlarm)'), than new alarm with the same type and same device may be created. Remove 'id', 'tenantId' and optionally 'customerId' from the request body example (below) to create new Alarm entity. \n\nThe alarm originator is an immutable routing key: when updating an existing alarm, the 'originator' in the request body must match the stored alarm's originator. A request that references an existing alarm id but carries a different originator is treated as a lookup miss and causes a 'Not Found' error. \n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'WRITE' permission for the entity (entities).", - "operationId": "saveAlarm", - "requestBody": { - "description": "A JSON value representing the alarm.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Alarm" - } + "summary": "Assign Related Entity to Agent Application (assignRelatedEntityToAgentApp)", + "description": "Links an Edge or Gateway Device to the specified agent application and re-merges entity credentials into the compose.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "assignRelatedEntityToAgentApp", + "parameters": [ + { + "name": "agentApplicationId", + "in": "path", + "description": "A string value representing the agent application id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, + "schema": { + "type": "string" } }, - "required": true - }, + { + "name": "entityType", + "in": "path", + "description": "Related entity type (EDGE or DEVICE)", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "entityId", + "in": "path", + "description": "Related entity id", + "required": true, + "schema": { + "type": "string" + } + } + ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Alarm" + "$ref": "#/components/schemas/AgentApplication" } } } @@ -7887,71 +8283,87 @@ ] } }, - "/api/alarm/highestSeverity/{entityType}/{entityId}": { + "/api/agent/app/{agentApplicationId}/units": { "get": { "tags": [ - "alarm-controller" + "agent-application-controller" ], - "summary": "Get Highest Alarm Severity (getHighestAlarmSeverity)", - "description": "Search the alarms by originator ('entityType' and entityId') and optional 'status' or 'searchStatus' filters and returns the highest AlarmSeverity(CRITICAL, MAJOR, MINOR, WARNING or INDETERMINATE). Specifying both parameters 'searchStatus' and 'status' at the same time will cause an error.\n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities).", - "operationId": "getHighestAlarmSeverity", + "summary": "Get Agent Application Units (getAgentAppUnits)", + "description": "Returns a page of units (containers, volumes, networks) for the specified agent application. Live per-unit data such as `image` and `state` lives in server-scope attributes on each unit and should be fetched separately via the standard telemetry/attributes API.You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getAgentAppUnits", "parameters": [ { - "name": "entityType", + "name": "agentApplicationId", "in": "path", - "description": "A string value representing the entity type. For example, 'DEVICE'", + "description": "A string value representing the agent application id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", "required": true, "schema": { "type": "string" } }, { - "name": "entityId", - "in": "path", - "description": "A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "name": "pageSize", + "in": "query", + "description": "Maximum amount of entities in a one page", "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "page", + "in": "query", + "description": "Sequence number of page starting from 0", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "textSearch", + "in": "query", + "description": "Case-insensitive substring match against the unit identifier", + "required": false, "schema": { "type": "string" } }, { - "name": "searchStatus", + "name": "type", "in": "query", - "description": "A string value representing one of the AlarmSearchStatus enumeration value", + "description": "Optional unit type filter (CONTAINER, VOLUME, NETWORK)", "required": false, "schema": { - "type": "string", - "enum": [ - "ANY", - "ACTIVE", - "CLEARED", - "ACK", - "UNACK" - ] + "$ref": "#/components/schemas/AgentAppUnitType" } }, { - "name": "status", + "name": "sortProperty", "in": "query", - "description": "A string value representing one of the AlarmStatus enumeration value", + "description": "Property of entity to sort by", "required": false, "schema": { "type": "string", "enum": [ - "ACTIVE_UNACK", - "ACTIVE_ACK", - "CLEARED_UNACK", - "CLEARED_ACK" + "createdTime", + "identifier", + "type" ] } }, { - "name": "assigneeId", + "name": "sortOrder", "in": "query", - "description": "A string value representing the assignee user id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", "required": false, "schema": { - "type": "string" + "type": "string", + "enum": [ + "ASC", + "DESC" + ] } } ], @@ -7961,7 +8373,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AlarmSeverity" + "$ref": "#/components/schemas/PageDataAgentAppUnit" } } } @@ -8082,19 +8494,28 @@ ] } }, - "/api/alarm/info/{alarmId}": { + "/api/agent/apps/{entityType}/{entityId}": { "get": { "tags": [ - "alarm-controller" + "agent-application-controller" ], - "summary": "Get Alarm Info (getAlarmInfoById)", - "description": "Fetch the Alarm Info object based on the provided Alarm Id. Alarm Info is an extension of the default Alarm object that also contains name of the alarm originator.\n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities).", - "operationId": "getAlarmInfoById", + "summary": "Get Agent Application by Related Entity (getAgentApplicationByRelatedEntity)", + "description": "Returns the agent application linked to the specified entity. \n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getAgentApplicationByRelatedEntity", "parameters": [ { - "name": "alarmId", + "name": "entityType", "in": "path", - "description": "A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "description": "Entity type", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "entityId", + "in": "path", + "description": "Entity id", "required": true, "schema": { "type": "string" @@ -8107,7 +8528,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AlarmInfo" + "$ref": "#/components/schemas/AgentApplication" } } } @@ -8228,15 +8649,24 @@ ] } }, - "/api/alarm/types": { + "/api/agent/{agentId}/apps": { "get": { "tags": [ - "alarm-controller" + "agent-application-controller" ], - "summary": "Get Alarm Types (getAlarmTypes)", - "description": "Returns a set of unique alarm types based on alarms that are either owned by the tenant or assigned to the customer which user is performing the request.", - "operationId": "getAlarmTypes", + "summary": "Get Agent Applications by Agent Id (getAgentApplicationsByAgentId)", + "description": "Returns a page of agent applications that belong to the specified agent. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getAgentApplicationsByAgentId", "parameters": [ + { + "name": "agentId", + "in": "path", + "description": "A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, + "schema": { + "type": "string" + } + }, { "name": "pageSize", "in": "query", @@ -8260,12 +8690,25 @@ { "name": "textSearch", "in": "query", - "description": "The case insensitive 'substring' filter based on of next alarm fields: type, severity or status", + "description": "Optional String value representing application name", "required": false, "schema": { "type": "string" } }, + { + "name": "sortProperty", + "in": "query", + "description": "Property of entity to sort by", + "required": false, + "schema": { + "type": "string", + "enum": [ + "createdTime", + "name" + ] + } + }, { "name": "sortOrder", "in": "query", @@ -8286,7 +8729,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageDataEntitySubtype" + "$ref": "#/components/schemas/PageDataAgentApplicationInfo" } } } @@ -8407,19 +8850,19 @@ ] } }, - "/api/alarm/{alarmId}": { + "/api/agent/bulk/{bulkActionId}": { "get": { "tags": [ - "alarm-controller" + "agent-bulk-action-controller" ], - "summary": "Get Alarm (getAlarmById)", - "description": "Fetch the Alarm object based on the provided Alarm Id. \n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities).", - "operationId": "getAlarmById", + "summary": "Get Agent Bulk Action (getAgentBulkAction)", + "description": "Fetch the Agent Bulk Action object based on the provided Bulk Action Id.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getAgentBulkAction", "parameters": [ { - "name": "alarmId", + "name": "bulkActionId", "in": "path", - "description": "A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "description": "Bulk Action Id", "required": true, "schema": { "type": "string" @@ -8432,7 +8875,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Alarm" + "$ref": "#/components/schemas/AgentBulkAction" } } } @@ -8551,19 +8994,21 @@ "ApiKeyForm": [] } ] - }, - "delete": { + } + }, + "/api/agent/bulk/{bulkActionId}/eventStats": { + "get": { "tags": [ - "alarm-controller" + "agent-bulk-action-controller" ], - "summary": "Delete Alarm (deleteAlarm)", - "description": "Deletes the Alarm. Referencing non-existing Alarm Id will cause an error.\n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'DELETE' permission for the entity (entities).", - "operationId": "deleteAlarm", + "summary": "Get Agent Bulk Action Event Stats (getAgentBulkActionEventStats)", + "description": "Returns the number of agent application events produced by the given bulk action per processing status, together with their total.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getAgentBulkActionEventStats", "parameters": [ { - "name": "alarmId", + "name": "bulkActionId", "in": "path", - "description": "A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "description": "Bulk Action Id", "required": true, "schema": { "type": "string" @@ -8576,7 +9021,7 @@ "content": { "application/json": { "schema": { - "type": "boolean" + "$ref": "#/components/schemas/AgentBulkActionEventStats" } } } @@ -8697,23 +9142,88 @@ ] } }, - "/api/alarm/{alarmId}/ack": { - "post": { + "/api/agent/bulk/{bulkActionId}/events": { + "get": { "tags": [ - "alarm-controller" + "agent-bulk-action-controller" ], - "summary": "Acknowledge Alarm (ackAlarm)", - "description": "Acknowledge the Alarm. Once acknowledged, the 'ack_ts' field will be set to current timestamp and special rule chain event 'ALARM_ACK' will be generated. Referencing non-existing Alarm Id will cause an error.\n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'WRITE' permission for the entity (entities).", - "operationId": "ackAlarm", + "summary": "Get Agent Bulk Action Events (getAgentBulkActionEvents)", + "description": "Returns a page of agent application events produced by the given bulk action, optionally filtered by action type and status. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getAgentBulkActionEvents", "parameters": [ { - "name": "alarmId", + "name": "bulkActionId", "in": "path", - "description": "A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "description": "Bulk Action Id", "required": true, "schema": { "type": "string" } + }, + { + "name": "pageSize", + "in": "query", + "description": "Maximum amount of entities in a one page", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "page", + "in": "query", + "description": "Sequence number of page starting from 0", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "textSearch", + "in": "query", + "description": "Case-insensitive 'substring' filter based on the event fields", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "actionType", + "in": "query", + "description": "A string value representing the action type to filter by, e.g. 'UPDATE'", + "required": false, + "schema": { + "$ref": "#/components/schemas/AgentAppEventActionType" + } + }, + { + "name": "processingStatus", + "in": "query", + "description": "A string value representing the event status to filter by, e.g. 'FINISHED'", + "required": false, + "schema": { + "$ref": "#/components/schemas/AgentProcessingStatus" + } + }, + { + "name": "sortProperty", + "in": "query", + "description": "Property of entity to sort by", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "sortOrder", + "in": "query", + "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", + "required": false, + "schema": { + "type": "string" + } } ], "responses": { @@ -8722,7 +9232,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AlarmInfo" + "$ref": "#/components/schemas/PageDataAgentAppEventInfo" } } } @@ -8739,7 +9249,7 @@ "summary": "Bad Request", "value": { "status": 400, - "message": "Invalid request body", + "message": "Invalid UUID string: 123", "errorCode": 31, "timestamp": 1609459200000 } @@ -8843,32 +9353,54 @@ ] } }, - "/api/alarm/{alarmId}/assign": { - "delete": { + "/api/agent": { + "post": { "tags": [ - "alarm-controller" + "agent-controller" ], - "summary": "Unassign Alarm (unassignAlarm)", - "description": "Unassign the Alarm. Once unassigned, the 'assign_ts' field will be set to current timestamp and special rule chain event 'ALARM_UNASSIGNED' will be generated. Referencing non-existing Alarm Id will cause an error.\n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority.", - "operationId": "unassignAlarm", + "summary": "Create Or Update Agent (saveAgent)", + "description": "Creates or Updates the Agent. When creating agent, platform generates Agent Id as [time-based UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_1_(date-time_and_MAC_address)). The newly created Agent id will be present in the response. Specify existing Agent id to update the agent. Referencing non-existing Agent Id will cause 'Not Found' error. Remove 'id', 'tenantId' and optionally 'customerId' from the request body example (below) to create new Agent entity. \n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "saveAgent", "parameters": [ { - "name": "alarmId", - "in": "path", - "description": "A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", - "required": true, + "name": "entityGroupId", + "in": "query", + "required": false, "schema": { "type": "string" } + }, + { + "name": "entityGroupIds", + "in": "query", + "description": "A list of entity group ids, separated by comma ','", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } } ], + "requestBody": { + "description": "A JSON value representing the agent.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Agent" + } + } + }, + "required": true + }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Alarm" + "$ref": "#/components/schemas/Agent" } } } @@ -8885,7 +9417,7 @@ "summary": "Bad Request", "value": { "status": 400, - "message": "Invalid UUID string: 123", + "message": "Invalid request body", "errorCode": 31, "timestamp": 1609459200000 } @@ -8989,28 +9521,19 @@ ] } }, - "/api/alarm/{alarmId}/assign/{assigneeId}": { - "post": { + "/api/agent/info/{agentId}": { + "get": { "tags": [ - "alarm-controller" + "agent-controller" ], - "summary": "Assign/Reassign Alarm (assignAlarm)", - "description": "Assign the Alarm. Once assigned, the 'assign_ts' field will be set to current timestamp and special rule chain event 'ALARM_ASSIGNED' (or ALARM_REASSIGNED in case of assigning already assigned alarm) will be generated. Referencing non-existing Alarm Id will cause an error.\n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority.", - "operationId": "assignAlarm", + "summary": "Get Agent Info (getAgentInfoById)", + "description": "Fetch the Agent Info object based on the provided Agent Id. Agent Info extends the Agent object and adds customer title and 'is public' flag.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getAgentInfoById", "parameters": [ { - "name": "alarmId", - "in": "path", - "description": "A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "assigneeId", + "name": "agentId", "in": "path", - "description": "A string value representing the user id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "description": "A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", "required": true, "schema": { "type": "string" @@ -9023,7 +9546,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Alarm" + "$ref": "#/components/schemas/AgentInfo" } } } @@ -9040,7 +9563,7 @@ "summary": "Bad Request", "value": { "status": 400, - "message": "Invalid request body", + "message": "Invalid UUID string: 123", "errorCode": 31, "timestamp": 1609459200000 } @@ -9144,23 +9667,35 @@ ] } }, - "/api/alarm/{alarmId}/clear": { - "post": { + "/api/agent/instructions/install/{agentId}/{method}": { + "get": { "tags": [ - "alarm-controller" + "agent-controller" ], - "summary": "Clear Alarm (clearAlarm)", - "description": "Clear the Alarm. Once cleared, the 'clear_ts' field will be set to current timestamp and special rule chain event 'ALARM_CLEAR' will be generated. Referencing non-existing Alarm Id will cause an error.\n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'WRITE' permission for the entity (entities).", - "operationId": "clearAlarm", + "summary": "Get Agent Install Instructions (getAgentInstallInstructions)", + "description": "Returns the docker install command for the specified agent with the server address and gRPC port resolved server-side.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getAgentInstallInstructions", "parameters": [ { - "name": "alarmId", + "name": "agentId", "in": "path", - "description": "A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "description": "A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", "required": true, "schema": { "type": "string" } + }, + { + "name": "method", + "in": "path", + "description": "Installation method ('docker')", + "required": true, + "schema": { + "type": "string", + "enum": [ + "docker" + ] + } } ], "responses": { @@ -9169,7 +9704,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AlarmInfo" + "$ref": "#/components/schemas/AgentInstructions" } } } @@ -9186,7 +9721,7 @@ "summary": "Bad Request", "value": { "status": 400, - "message": "Invalid request body", + "message": "Invalid UUID string: 123", "errorCode": 31, "timestamp": 1609459200000 } @@ -9290,171 +9825,21 @@ ] } }, - "/api/alarm/{entityType}/{entityId}": { + "/api/agent/upgrade/latest": { "get": { "tags": [ - "alarm-controller" - ], - "summary": "Get Alarms (getAlarmsByEntity)", - "description": "Returns a page of alarms for the selected entity. Specifying both parameters 'searchStatus' and 'status' at the same time will cause an error. \n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities).", - "operationId": "getAlarmsByEntity", - "parameters": [ - { - "name": "entityType", - "in": "path", - "description": "A string value representing the entity type. For example, 'DEVICE'", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "entityId", - "in": "path", - "description": "A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "searchStatus", - "in": "query", - "description": "A string value representing one of the AlarmSearchStatus enumeration value", - "required": false, - "schema": { - "type": "string", - "enum": [ - "ANY", - "ACTIVE", - "CLEARED", - "ACK", - "UNACK" - ] - } - }, - { - "name": "status", - "in": "query", - "description": "A string value representing one of the AlarmStatus enumeration value", - "required": false, - "schema": { - "type": "string", - "enum": [ - "ACTIVE_UNACK", - "ACTIVE_ACK", - "CLEARED_UNACK", - "CLEARED_ACK" - ] - } - }, - { - "name": "assigneeId", - "in": "query", - "description": "A string value representing the assignee user id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "pageSize", - "in": "query", - "description": "Maximum amount of entities in a one page", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "page", - "in": "query", - "description": "Sequence number of page starting from 0", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "textSearch", - "in": "query", - "description": "The case insensitive 'substring' filter based on of next alarm fields: type, severity or status", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "sortProperty", - "in": "query", - "description": "Property of entity to sort by", - "required": false, - "schema": { - "type": "string", - "enum": [ - "createdTime", - "startTs", - "endTs", - "type", - "ackTs", - "clearTs", - "severity", - "status" - ] - } - }, - { - "name": "sortOrder", - "in": "query", - "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", - "required": false, - "schema": { - "type": "string", - "enum": [ - "ASC", - "DESC" - ] - } - }, - { - "name": "startTime", - "in": "query", - "description": "The start timestamp in milliseconds of the search time range over the Alarm class field: 'createdTime'.", - "required": false, - "schema": { - "type": "integer", - "format": "int64" - } - }, - { - "name": "endTime", - "in": "query", - "description": "The end timestamp in milliseconds of the search time range over the Alarm class field: 'createdTime'.", - "required": false, - "schema": { - "type": "integer", - "format": "int64" - } - }, - { - "name": "fetchOriginator", - "in": "query", - "description": "A boolean value to specify if the alarm originator name will be filled in the AlarmInfo object field: 'originatorName' or will returns as null.", - "required": false, - "schema": { - "type": "boolean" - } - } + "agent-controller" ], + "summary": "Get the newest published agent image (getLatestAgentImageRef)", + "description": "Returns the newest agent image reference known from the version graph, or the floating tag while no version has been published. Lets a list of agents decide locally which rows are upgradable without asking per row.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getLatestAgentImageRef", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageDataAlarmInfo" + "type": "string" } } } @@ -9575,144 +9960,23 @@ ] } }, - "/api/alarms": { + "/api/agent/{agentId}": { "get": { "tags": [ - "alarm-controller" + "agent-controller" ], - "summary": "Get All Alarms (getAllAlarms)", - "description": "Returns a page of alarms that belongs to the current user owner. If the user has the authority of 'Tenant Administrator', the server returns alarms that belongs to the tenant of current user. If the user has the authority of 'Customer User', the server returns alarms that belongs to the customer of current user. Specifying both parameters 'searchStatus' and 'status' at the same time will cause an error. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities).", - "operationId": "getAllAlarms", + "summary": "Get Agent (getAgentById)", + "description": "Fetch the Agent object based on the provided Agent Id. The server checks that the agent is owned by the same tenant.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getAgentById", "parameters": [ { - "name": "searchStatus", - "in": "query", - "description": "A string value representing one of the AlarmSearchStatus enumeration value", - "required": false, - "schema": { - "type": "string", - "enum": [ - "ANY", - "ACTIVE", - "CLEARED", - "ACK", - "UNACK" - ] - } - }, - { - "name": "status", - "in": "query", - "description": "A string value representing one of the AlarmStatus enumeration value", - "required": false, - "schema": { - "type": "string", - "enum": [ - "ACTIVE_UNACK", - "ACTIVE_ACK", - "CLEARED_UNACK", - "CLEARED_ACK" - ] - } - }, - { - "name": "assigneeId", - "in": "query", - "description": "A string value representing the assignee user id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "pageSize", - "in": "query", - "description": "Maximum amount of entities in a one page", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "page", - "in": "query", - "description": "Sequence number of page starting from 0", + "name": "agentId", + "in": "path", + "description": "A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "textSearch", - "in": "query", - "description": "The case insensitive 'substring' filter based on of next alarm fields: type, severity or status", - "required": false, "schema": { "type": "string" } - }, - { - "name": "sortProperty", - "in": "query", - "description": "Property of entity to sort by", - "required": false, - "schema": { - "type": "string", - "enum": [ - "createdTime", - "startTs", - "endTs", - "type", - "ackTs", - "clearTs", - "severity", - "status" - ] - } - }, - { - "name": "sortOrder", - "in": "query", - "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", - "required": false, - "schema": { - "type": "string", - "enum": [ - "ASC", - "DESC" - ] - } - }, - { - "name": "startTime", - "in": "query", - "description": "The start timestamp in milliseconds of the search time range over the Alarm class field: 'createdTime'.", - "required": false, - "schema": { - "type": "integer", - "format": "int64" - } - }, - { - "name": "endTime", - "in": "query", - "description": "The end timestamp in milliseconds of the search time range over the Alarm class field: 'createdTime'.", - "required": false, - "schema": { - "type": "integer", - "format": "int64" - } - }, - { - "name": "fetchOriginator", - "in": "query", - "description": "A boolean value to specify if the alarm originator name will be filled in the AlarmInfo object field: 'originatorName' or will returns as null.", - "required": false, - "schema": { - "type": "boolean" - } } ], "responses": { @@ -9721,7 +9985,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageDataAlarmInfo" + "$ref": "#/components/schemas/Agent" } } } @@ -9840,90 +10104,159 @@ "ApiKeyForm": [] } ] - } - }, - "/api/v2/alarm/{entityType}/{entityId}": { - "get": { + }, + "delete": { "tags": [ - "alarm-controller" + "agent-controller" ], - "summary": "Get Alarms (getAlarmsV2)", - "description": "Returns a page of alarms for the selected entity. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority.", - "operationId": "getAlarmsV2", + "summary": "Delete agent (deleteAgent)", + "description": "Deletes the agent and all the relations (from and to the agent). Referencing non-existing agent Id will cause an error.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "deleteAgent", "parameters": [ { - "name": "entityType", + "name": "agentId", "in": "path", - "description": "A string value representing the entity type. For example, 'DEVICE'", + "description": "A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", "required": true, "schema": { "type": "string" } + } + ], + "responses": { + "200": { + "description": "OK" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } }, - { - "name": "entityId", - "in": "path", - "description": "A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", - "required": true, - "schema": { - "type": "string" + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } } }, - { - "name": "statusList", - "in": "query", - "description": "A list of string values separated by comma ',' representing one of the AlarmSearchStatus enumeration value", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "ANY", - "ACTIVE", - "CLEARED", - "ACK", - "UNACK" - ] + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } } } }, - { - "name": "severityList", - "in": "query", - "description": "A list of string values separated by comma ',' representing one of the AlarmSeverity enumeration value", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE" - ] + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } } } }, - { - "name": "typeList", - "in": "query", - "description": "A list of string values separated by comma ',' representing alarm types", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } } } + } + }, + "security": [ + { + "HttpLoginForm": [] }, { - "name": "assigneeId", - "in": "query", - "description": "A string value representing the assignee user id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", - "required": false, + "ApiKeyForm": [] + } + ] + } + }, + "/api/agent/{agentId}/eventInfos": { + "get": { + "tags": [ + "agent-controller" + ], + "summary": "Get Agent App Event Infos by Agent Id (getAgentAppEventInfosByAgentId)", + "description": "Returns a page of agent application events for all applications belonging to the specified agent, enriched with the application name for each event. Supports optional filtering by action type and status, and text search over the application name. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getAgentAppEventInfosByAgentId", + "parameters": [ + { + "name": "agentId", + "in": "path", + "description": "A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, "schema": { "type": "string" } @@ -9951,7 +10284,7 @@ { "name": "textSearch", "in": "query", - "description": "The case insensitive 'substring' filter based on of next alarm fields: type, severity or status", + "description": "Optional text value to match against the application name", "required": false, "schema": { "type": "string" @@ -9966,13 +10299,10 @@ "type": "string", "enum": [ "createdTime", - "startTs", - "endTs", - "type", - "ackTs", - "clearTs", - "severity", - "status" + "updatedTime", + "actionType", + "startStatus", + "processingStatus" ] } }, @@ -9990,23 +10320,21 @@ } }, { - "name": "startTime", + "name": "actionType", "in": "query", - "description": "The start timestamp in milliseconds of the search time range over the Alarm class field: 'createdTime'.", + "description": "Optional filter by event action type", "required": false, "schema": { - "type": "integer", - "format": "int64" + "$ref": "#/components/schemas/AgentAppEventActionType" } }, { - "name": "endTime", + "name": "processingStatus", "in": "query", - "description": "The end timestamp in milliseconds of the search time range over the Alarm class field: 'createdTime'.", + "description": "Optional filter by event status", "required": false, "schema": { - "type": "integer", - "format": "int64" + "$ref": "#/components/schemas/AgentProcessingStatus" } } ], @@ -10016,7 +10344,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageDataAlarmInfo" + "$ref": "#/components/schemas/PageDataAgentAppEventInfo" } } } @@ -10137,70 +10465,20 @@ ] } }, - "/api/v2/alarms": { + "/api/agent/{agentId}/events": { "get": { "tags": [ - "alarm-controller" + "agent-controller" ], - "summary": "Get All Alarms (getAllAlarmsV2)", - "description": "Returns a page of alarms that belongs to the current user owner. If the user has the authority of 'Tenant Administrator', the server returns alarms that belongs to the tenant of current user. If the user has the authority of 'Customer User', the server returns alarms that belongs to the customer of current user. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority.", - "operationId": "getAllAlarmsV2", + "summary": "Get Agent App Events by Agent Id (getAgentAppEventsByAgentId)", + "description": "Returns a page of agent application events for all applications belonging to the specified agent. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getAgentAppEventsByAgentId", "parameters": [ { - "name": "statusList", - "in": "query", - "description": "A list of string values separated by comma ',' representing one of the AlarmSearchStatus enumeration value", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "ANY", - "ACTIVE", - "CLEARED", - "ACK", - "UNACK" - ] - } - } - }, - { - "name": "severityList", - "in": "query", - "description": "A list of string values separated by comma ',' representing one of the AlarmSeverity enumeration value", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE" - ] - } - } - }, - { - "name": "typeList", - "in": "query", - "description": "A list of string values separated by comma ',' representing alarm types", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "assigneeId", - "in": "query", - "description": "A string value representing the assignee user id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", - "required": false, + "name": "agentId", + "in": "path", + "description": "A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, "schema": { "type": "string" } @@ -10228,7 +10506,7 @@ { "name": "textSearch", "in": "query", - "description": "The case insensitive 'substring' filter based on of next alarm fields: type, severity or status", + "description": "Optional String value reserved for future event filtering", "required": false, "schema": { "type": "string" @@ -10243,13 +10521,7 @@ "type": "string", "enum": [ "createdTime", - "startTs", - "endTs", - "type", - "ackTs", - "clearTs", - "severity", - "status" + "updatedTime" ] } }, @@ -10265,26 +10537,6 @@ "DESC" ] } - }, - { - "name": "startTime", - "in": "query", - "description": "The start timestamp in milliseconds of the search time range over the Alarm class field: 'createdTime'.", - "required": false, - "schema": { - "type": "integer", - "format": "int64" - } - }, - { - "name": "endTime", - "in": "query", - "description": "The end timestamp in milliseconds of the search time range over the Alarm class field: 'createdTime'.", - "required": false, - "schema": { - "type": "integer", - "format": "int64" - } } ], "responses": { @@ -10293,7 +10545,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageDataAlarmInfo" + "$ref": "#/components/schemas/PageDataAgentAppEvent" } } } @@ -10414,20 +10666,30 @@ ] } }, - "/api/alarm/rule": { + "/api/agent/{agentId}/upgrade": { "post": { "tags": [ - "alarm-rule-controller" + "agent-controller" + ], + "summary": "Upgrade Agent (upgradeAgent)", + "description": "Creates an agent-scoped upgrade event that makes the agent replace its own container with the given image. At most one agent upgrade can be active per agent, and it blocks all application events for that agent until it completes.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "upgradeAgent", + "parameters": [ + { + "name": "agentId", + "in": "path", + "description": "A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, + "schema": { + "type": "string" + } + } ], - "summary": "Create Or Update Alarm Rule (saveAlarmRule)", - "description": "Creates or Updates the Alarm Rule. When creating alarm rule, platform generates Alarm Rule Id as [time-based UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_1_(date-time_and_MAC_address)). The newly created Alarm Rule Id will be present in the response. Specify existing Alarm Rule Id to update the alarm rule. Referencing non-existing Alarm Rule Id will cause 'Not Found' error. Remove 'id', 'tenantId' from the request body example (below) to create new Alarm Rule entity. \n\nAvailable for users with 'TENANT_ADMIN' authority.", - "operationId": "saveAlarmRule", "requestBody": { - "description": "A JSON value representing the alarm rule.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AlarmRuleDefinition" + "$ref": "#/components/schemas/AgentUpgradeRequest" } } }, @@ -10439,7 +10701,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AlarmRuleDefinition" + "$ref": "#/components/schemas/AgentAppEvent" } } } @@ -10560,32 +10822,32 @@ ] } }, - "/api/alarm/rule/testScript": { - "post": { + "/api/agent/{agentId}/upgrade/available": { + "get": { "tags": [ - "alarm-rule-controller" + "agent-controller" ], - "summary": "Test alarm rule TBEL expression (testAlarmRuleScript)", - "description": "Execute the alarm rule TBEL condition expression and return the result. Alarm rule expressions must return a boolean value. The format of request: \n\n```json\n{\n \"expression\": \"return temperature > 50;\",\n \"arguments\": {\n \"temperature\": { \"type\": \"SINGLE_VALUE\", \"ts\": 1739776478057, \"value\": 55 }\n }\n}\n```\n\n Expected result JSON contains \"output\" and \"error\".\n\nAvailable for users with 'TENANT_ADMIN' authority.", - "operationId": "testAlarmRuleScript", - "requestBody": { - "description": "Test alarm rule TBEL condition expression. The expression must return a boolean value.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/JsonNode" - } + "summary": "Is agent upgrade available (isAgentUpgradeAvailable)", + "description": "Returns 'true' when the agent reports an image older than the newest published one, 'false' otherwise — including when the agent runs a floating tag such as 'latest', whose current content cannot be told from the tag.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "isAgentUpgradeAvailable", + "parameters": [ + { + "name": "agentId", + "in": "path", + "description": "A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, + "schema": { + "type": "string" } - }, - "required": true - }, + } + ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/JsonNode" + "type": "boolean" } } } @@ -10602,7 +10864,7 @@ "summary": "Bad Request", "value": { "status": 400, - "message": "Invalid request body", + "message": "Invalid UUID string: 123", "errorCode": 31, "timestamp": 1609459200000 } @@ -10706,18 +10968,19 @@ ] } }, - "/api/alarm/rule/{alarmRuleId}": { + "/api/agent/{agentId}/upgrade/target": { "get": { "tags": [ - "alarm-rule-controller" + "agent-controller" ], - "summary": "Get Alarm Rule (getAlarmRuleById)", - "description": "Fetch the Alarm Rule object based on the provided Alarm Rule Id.\n\nAvailable for users with 'TENANT_ADMIN' authority.", - "operationId": "getAlarmRuleById", + "summary": "Get the agent upgrade target (getAgentUpgradeTarget)", + "description": "Returns the image reference the agent should be upgraded to, or an empty string when it already runs the newest published image or cannot be placed in the version graph.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getAgentUpgradeTarget", "parameters": [ { - "name": "alarmRuleId", + "name": "agentId", "in": "path", + "description": "A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", "required": true, "schema": { "type": "string" @@ -10730,7 +10993,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AlarmRuleDefinition" + "type": "string" } } } @@ -10849,27 +11112,43 @@ "ApiKeyForm": [] } ] - }, - "delete": { + } + }, + "/api/agentInfos": { + "get": { "tags": [ - "alarm-rule-controller" + "agent-controller" ], - "summary": "Delete Alarm Rule (deleteAlarmRule)", - "description": "Deletes the alarm rule. Referencing non-existing Alarm Rule Id will cause an error.\n\nAvailable for users with 'TENANT_ADMIN' authority.", - "operationId": "deleteAlarmRule", + "summary": "Get Agent Infos By Ids (getAgentInfosByIds)", + "description": "Requested agents must be owned by tenant or assigned to customer which user is performing the request. \n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities).", + "operationId": "getAgentInfosByIds", "parameters": [ { - "name": "alarmRuleId", - "in": "path", + "name": "agentIds", + "in": "query", + "description": "A list of agent ids, separated by comma ','", "required": true, "schema": { - "type": "string" + "type": "array", + "items": { + "type": "string" + } } } ], "responses": { "200": { - "description": "OK" + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AgentInfo" + } + } + } + } }, "400": { "description": "Bad Request", @@ -10987,22 +11266,78 @@ ] } }, - "/api/alarm/rule/{alarmRuleId}/debug": { + "/api/customer/{customerId}/agentInfos": { "get": { "tags": [ - "alarm-rule-controller" + "agent-controller" ], - "summary": "Get latest alarm rule debug event (getLatestAlarmRuleDebugEvent)", - "description": "Gets latest alarm rule debug event for specified alarm rule id. Referencing non-existing alarm rule id will cause an error. \n\nAvailable for users with 'TENANT_ADMIN' authority.", - "operationId": "getLatestAlarmRuleDebugEvent", + "summary": "Get Customer Agent Infos (getCustomerAgentInfos)", + "description": "Returns a page of agent info objects assigned to customer. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getCustomerAgentInfos", "parameters": [ { - "name": "alarmRuleId", + "name": "customerId", "in": "path", + "description": "A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", "required": true, "schema": { "type": "string" } + }, + { + "name": "pageSize", + "in": "query", + "description": "Maximum amount of entities in a one page", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "page", + "in": "query", + "description": "Sequence number of page starting from 0", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "textSearch", + "in": "query", + "description": "Optional String value representing agent name", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "sortProperty", + "in": "query", + "description": "Property of entity to sort by", + "required": false, + "schema": { + "type": "string", + "enum": [ + "createdTime", + "name" + ] + } + }, + { + "name": "sortOrder", + "in": "query", + "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", + "required": false, + "schema": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + } } ], "responses": { @@ -11011,7 +11346,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/JsonNode" + "$ref": "#/components/schemas/PageDataAgentInfo" } } } @@ -11132,15 +11467,24 @@ ] } }, - "/api/alarm/rules": { + "/api/customer/{customerId}/agents": { "get": { "tags": [ - "alarm-rule-controller" + "agent-controller" ], - "summary": "Get alarm rules (getAlarmRules)", - "description": "Fetch tenant alarm rules based on the filter.\n\nAvailable for users with 'TENANT_ADMIN' authority.", - "operationId": "getAlarmRules", + "summary": "Get Customer Agents (getCustomerAgents)", + "description": "Returns a page of agent objects assigned to customer. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getCustomerAgents", "parameters": [ + { + "name": "customerId", + "in": "path", + "description": "A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, + "schema": { + "type": "string" + } + }, { "name": "pageSize", "in": "query", @@ -11161,33 +11505,10 @@ "format": "int32" } }, - { - "name": "entityType", - "in": "query", - "description": "Entity type filter. If not specified, alarm rules for all supported entity types will be returned.", - "required": false, - "schema": { - "$ref": "#/components/schemas/EntityType" - } - }, - { - "name": "entities", - "in": "query", - "description": "Entities filter. If not specified, alarm rules for entity type filter will be returned.", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string", - "format": "uuid" - }, - "uniqueItems": true - } - }, { "name": "textSearch", "in": "query", - "description": "The case insensitive 'substring' filter based on the calculated field name.", + "description": "Optional String value representing agent name", "required": false, "schema": { "type": "string" @@ -11226,7 +11547,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageDataAlarmRuleDefinitionInfo" + "$ref": "#/components/schemas/PageDataAgent" } } } @@ -11347,14 +11668,14 @@ ] } }, - "/api/alarm/rules/names": { + "/api/tenant/agentInfos": { "get": { "tags": [ - "alarm-rule-controller" + "agent-controller" ], - "summary": "Get alarm rule names (getAlarmRuleNames)", - "description": "Fetch the list of alarm rule names.\n\nAvailable for users with 'TENANT_ADMIN' authority.", - "operationId": "getAlarmRuleNames", + "summary": "Get Tenant Agent Infos (getTenantAgentInfos)", + "description": "Returns a page of agent info objects owned by tenant. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getTenantAgentInfos", "parameters": [ { "name": "pageSize", @@ -11379,12 +11700,25 @@ { "name": "textSearch", "in": "query", - "description": "The case insensitive 'substring' filter based on the calculated field name.", + "description": "Optional String value representing agent name", "required": false, "schema": { "type": "string" } }, + { + "name": "sortProperty", + "in": "query", + "description": "Property of entity to sort by", + "required": false, + "schema": { + "type": "string", + "enum": [ + "createdTime", + "name" + ] + } + }, { "name": "sortOrder", "in": "query", @@ -11405,7 +11739,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageDataString" + "$ref": "#/components/schemas/PageDataAgentInfo" } } } @@ -11526,33 +11860,15 @@ ] } }, - "/api/alarm/rules/{entityType}/{entityId}": { + "/api/tenant/agents": { "get": { "tags": [ - "alarm-rule-controller" + "agent-controller" ], - "summary": "Get Alarm Rules by Entity Id (getAlarmRulesByEntityId)", - "description": "Fetch the Alarm Rules based on the provided Entity Id.\n\nAvailable for users with 'TENANT_ADMIN' authority.", - "operationId": "getAlarmRulesByEntityId", + "summary": "Get Tenant Agents (getTenantAgents)", + "description": "Returns a page of agents owned by tenant. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getTenantAgents", "parameters": [ - { - "name": "entityType", - "in": "path", - "description": "A string value representing the entity type. For example, 'DEVICE'", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "entityId", - "in": "path", - "description": "A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", - "required": true, - "schema": { - "type": "string" - } - }, { "name": "pageSize", "in": "query", @@ -11576,7 +11892,7 @@ { "name": "textSearch", "in": "query", - "description": "The case insensitive 'substring' filter based on the calculated field name.", + "description": "Optional String value representing agent name", "required": false, "schema": { "type": "string" @@ -11615,7 +11931,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageDataAlarmRuleDefinition" + "$ref": "#/components/schemas/PageDataAgent" } } } @@ -11736,19 +12052,33 @@ ] } }, - "/api/apiKey": { + "/api/agent/profile": { "post": { "tags": [ - "api-key-controller" + "agent-profile-controller" + ], + "summary": "Create or Update Agent Profile (saveAgentProfile)", + "description": "Creates or updates the Agent Profile. When an id is not present in the request, a new Agent Profile is created, otherwise the existing one is updated. Optionally synchronizes the agent application profile assignments in the same request: when the 'appProfileIds' parameter is absent, existing assignments are left untouched; when it is present, the assignment set is replaced with the given ids — including an explicitly empty value (e.g. 'appProfileIds='), which removes all assignments.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "saveAgentProfile", + "parameters": [ + { + "name": "appProfileIds", + "in": "query", + "description": "Agent application profile ids to assign to this agent profile. Absent: assignments are not modified. Present: assignments are replaced with the given ids; an explicitly empty value removes all assignments.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } ], - "summary": "Save API key for user (saveApiKey)", - "description": "Creates an API key for the given user and returns the token ONCE as 'ApiKey {value}'.\n\nAvailable for any authorized user. ", - "operationId": "saveApiKey", "requestBody": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiKeyInfo" + "$ref": "#/components/schemas/AgentProfile" } } }, @@ -11760,7 +12090,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiKey" + "$ref": "#/components/schemas/AgentProfile" } } } @@ -11881,28 +12211,24 @@ ] } }, - "/api/apiKey/{id}": { - "delete": { + "/api/agent/profile/info/default": { + "get": { "tags": [ - "api-key-controller" - ], - "summary": "Delete API key by ID (deleteApiKey)", - "description": "Deletes the API key. Referencing non-existing ApiKey Id will cause an error.\n\nAvailable for any authorized user. ", - "operationId": "deleteApiKey", - "parameters": [ - { - "name": "id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } - } + "agent-profile-controller" ], + "summary": "Get Default Agent Profile (getDefaultAgentProfileInfo)", + "description": "Fetch the Agent Profile Info object that is marked as default within the current tenant scope.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getDefaultAgentProfileInfo", "responses": { "200": { - "description": "OK" + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AgentProfileInfo" + } + } + } }, "400": { "description": "Bad Request", @@ -12020,43 +12346,32 @@ ] } }, - "/api/apiKey/{id}/description": { - "put": { + "/api/agent/profile/info/{agentProfileId}": { + "get": { "tags": [ - "api-key-controller" + "agent-profile-controller" ], - "summary": "Update API key Description", - "description": "Updates the description of the existing API key by apiKeyId. Only the description can be updated. Referencing a non-existing ApiKey Id will cause a 'Not Found' error.\n\nAvailable for any authorized user. ", - "operationId": "updateApiKeyDescription", + "summary": "Get Agent Profile Info (getAgentProfileInfoById)", + "description": "Fetch the Agent Profile Info object based on the provided Agent Profile Id. Agent Profile Info is a lightweight object that omits the auto-provision key and secret; it is readable by any tenant admin so agent screens can resolve the linked profile.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getAgentProfileInfoById", "parameters": [ { - "name": "id", + "name": "agentProfileId", "in": "path", - "description": "A string value representing the api key id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "description": "Agent Profile Id", "required": true, "schema": { - "type": "string", - "format": "uuid" + "type": "string" } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "string", - "description": "New description for the API key" - } - } - } - }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiKeyInfo" + "$ref": "#/components/schemas/AgentProfileInfo" } } } @@ -12177,32 +12492,34 @@ ] } }, - "/api/apiKey/{id}/enabled/{enabledValue}": { - "put": { + "/api/agent/profile/instructions/provision/{agentProfileId}/{method}": { + "get": { "tags": [ - "api-key-controller" + "agent-profile-controller" ], - "summary": "Enable or disable API key (enableApiKey)", - "description": "Updates api key with enabled = true/false. \n\nAvailable for any authorized user. ", - "operationId": "enableApiKey", + "summary": "Get Agent Provision Instructions (getAgentProvisionInstructions)", + "description": "Returns the auto-provision docker command for the specified agent profile with the server address and gRPC port resolved server-side.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getAgentProvisionInstructions", "parameters": [ { - "name": "id", + "name": "agentProfileId", "in": "path", - "description": "Unique identifier of the API key to enable/disable", + "description": "Agent Profile Id", "required": true, "schema": { - "type": "string", - "format": "uuid" + "type": "string" } }, { - "name": "enabledValue", + "name": "method", "in": "path", - "description": "Enabled or disabled api key", + "description": "Installation method ('docker')", "required": true, "schema": { - "type": "boolean" + "type": "string", + "enum": [ + "docker" + ] } } ], @@ -12212,7 +12529,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiKeyInfo" + "$ref": "#/components/schemas/AgentInstructions" } } } @@ -12333,80 +12650,23 @@ ] } }, - "/api/apiKeys/{userId}": { + "/api/agent/profile/{agentProfileId}": { "get": { "tags": [ - "api-key-controller" + "agent-profile-controller" ], - "summary": "Get User Api Keys (getUserApiKeys)", - "description": "Returns a page of api keys owned by user. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for any authorized user. ", - "operationId": "getUserApiKeys", + "summary": "Get Agent Profile (getAgentProfileById)", + "description": "Fetch the Agent Profile object based on the provided Agent Profile Id.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getAgentProfileById", "parameters": [ { - "name": "userId", + "name": "agentProfileId", "in": "path", - "description": "A string value representing the user id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "description": "Agent Profile Id", "required": true, "schema": { "type": "string" } - }, - { - "name": "pageSize", - "in": "query", - "description": "Maximum amount of entities in a one page", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "page", - "in": "query", - "description": "Sequence number of page starting from 0", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "textSearch", - "in": "query", - "description": "The case insensitive 'substring' filter based on the description.", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "sortProperty", - "in": "query", - "description": "Property of entity to sort by", - "required": false, - "schema": { - "type": "string", - "enum": [ - "createdTime", - "expirationTime", - "description", - "enabled" - ] - } - }, - { - "name": "sortOrder", - "in": "query", - "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", - "required": false, - "schema": { - "type": "string", - "enum": [ - "ASC", - "DESC" - ] - } } ], "responses": { @@ -12415,7 +12675,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageDataApiKeyInfo" + "$ref": "#/components/schemas/AgentProfile" } } } @@ -12534,90 +12794,28 @@ "ApiKeyForm": [] } ] - } - }, - "/api/asset": { - "post": { + }, + "delete": { "tags": [ - "asset-controller" + "agent-profile-controller" ], - "summary": "Create Or Update Asset (saveAsset)", - "description": "Creates or Updates the Asset. When creating asset, platform generates Asset Id as [time-based UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_1_(date-time_and_MAC_address)). The newly created Asset id will be present in the response. Specify existing Asset id to update the asset. Referencing non-existing Asset Id will cause 'Not Found' error. Remove 'id', 'tenantId' and optionally 'customerId' from the request body example (below) to create new Asset entity. \n\n Security check is performed to verify that the user has 'WRITE' permission for the entity (entities).", - "operationId": "saveAsset", + "summary": "Delete Agent Profile (deleteAgentProfile)", + "description": "Deletes the Agent Profile. Referencing a non-existing Agent Profile Id will cause an error. The default Agent Profile can not be deleted.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "deleteAgentProfile", "parameters": [ { - "name": "entityGroupId", - "in": "query", - "description": "A string value representing the Entity Group Id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'. If specified, the entity will be added to the corresponding entity group.", - "required": false, + "name": "agentProfileId", + "in": "path", + "description": "Agent Profile Id", + "required": true, "schema": { "type": "string" } - }, - { - "name": "entityGroupIds", - "in": "query", - "description": "A list of string values, separated by comma ',' representing the Entity Group Ids. For example, '784f394c-42b6-435a-983c-b7beff2784f9','a84f394c-42b6-435a-083c-b7beff2784f9'. If specified, the entity will be added to the corresponding entity groups.", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "nameConflictPolicy", - "in": "query", - "description": "Optional value of name conflict policy. Possible values: FAIL or UNIQUIFY. If omitted, FAIL policy is applied. FAIL policy implies exception will be thrown if an entity with the same name already exists. UNIQUIFY policy appends a suffix to the entity name, if a name conflict occurs.", - "required": false, - "schema": { - "$ref": "#/components/schemas/NameConflictPolicy", - "default": "FAIL" - } - }, - { - "name": "uniquifySeparator", - "in": "query", - "description": "Optional value of name suffix separator used by UNIQUIFY policy. By default, underscore separator is used. For example, strategy is UNIQUIFY, separator is '-'; if a name conflict occurs for entity name 'test-name', created entity will have name like 'test-name-7fsh4f'.", - "required": false, - "schema": { - "type": "string", - "default": "_" - } - }, - { - "name": "uniquifyStrategy", - "in": "query", - "description": "Optional value of uniquify strategy used by UNIQUIFY policy. Possible values: RANDOM or INCREMENTAL. By default, RANDOM strategy is used, which means random alphanumeric string will be added as a suffix to entity name. INCREMENTAL implies the first possible number starting from 1 will be added as a name suffix. For example, strategy is UNIQUIFY, uniquify strategy is INCREMENTAL; if a name conflict occurs for entity name 'test-name', created entity will have name like 'test-name-1.", - "required": false, - "schema": { - "$ref": "#/components/schemas/UniquifyStrategy", - "default": "RANDOM" - } } ], - "requestBody": { - "description": "A JSON value representing the asset.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Asset" - } - } - }, - "required": true - }, "responses": { "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Asset" - } - } - } + "description": "OK" }, "400": { "description": "Bad Request", @@ -12631,7 +12829,7 @@ "summary": "Bad Request", "value": { "status": 400, - "message": "Invalid request body", + "message": "Invalid UUID string: 123", "errorCode": 31, "timestamp": 1609459200000 } @@ -12735,34 +12933,37 @@ ] } }, - "/api/asset/bulk_import": { + "/api/agent/profile/{agentProfileId}/appProfile/{applicationProfileId}": { "post": { "tags": [ - "asset-controller" + "agent-profile-controller" ], - "summary": "Import the bulk of assets (processAssetsBulkImport)", - "description": "There's an ability to import the bulk of assets using the only .csv file.\n\n Security check is performed to verify that the user has 'WRITE' permission for the entity (entities).", - "operationId": "processAssetBulkImport", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BulkImportRequest" - } + "summary": "Assign App Profile to Agent Profile (assignAppProfileToAgentProfile)", + "description": "Assigns the given agent application profile to the agent profile, making it available to applications managed by that agent profile.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "assignAppProfileToAgentProfile", + "parameters": [ + { + "name": "agentProfileId", + "in": "path", + "description": "Agent Profile Id", + "required": true, + "schema": { + "type": "string" } }, - "required": true - }, + { + "name": "applicationProfileId", + "in": "path", + "description": "Agent Application Profile Id", + "required": true, + "schema": { + "type": "string" + } + } + ], "responses": { "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BulkImportResultAsset" - } - } - } + "description": "OK" }, "400": { "description": "Bad Request", @@ -12878,21 +13079,28 @@ "ApiKeyForm": [] } ] - } - }, - "/api/asset/info/{assetId}": { - "get": { + }, + "delete": { "tags": [ - "asset-controller" + "agent-profile-controller" ], - "summary": "Get Asset Info (getAssetInfoById)", - "description": "Fetch the Asset Info object based on the provided Asset Id. If the user has the authority of 'Tenant Administrator', the server checks that the asset is owned by the same tenant. If the user has the authority of 'Customer User', the server checks that the asset is assigned to the same customer.Asset Info is an extension of the default Asset object that contains information about the owner name. \n\n Security check is performed to verify that the user has 'READ' permission for the entity (entities).", - "operationId": "getAssetInfoById", + "summary": "Unassign App Profile from Agent Profile (unassignAppProfileFromAgentProfile)", + "description": "Removes the assignment of the given agent application profile from the agent profile.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "unassignAppProfileFromAgentProfile", "parameters": [ { - "name": "assetId", + "name": "agentProfileId", "in": "path", - "description": "A string value representing the asset id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "description": "Agent Profile Id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "applicationProfileId", + "in": "path", + "description": "Agent Application Profile Id", "required": true, "schema": { "type": "string" @@ -12901,14 +13109,7 @@ ], "responses": { "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AssetInfo" - } - } - } + "description": "OK" }, "400": { "description": "Bad Request", @@ -13026,27 +13227,46 @@ ] } }, - "/api/asset/types": { - "get": { + "/api/agent/profile/{agentProfileId}/appProfile/{applicationProfileId}/autoDiscovery": { + "post": { "tags": [ - "asset-controller" + "agent-profile-controller" + ], + "summary": "Set App Profile Relates On Auto-Discovery (setAppProfileRelatesOnAutoDiscovery)", + "description": "Enables or disables automatic assignment of the app profile to new auto-discovered applications with a matching template. Only one app profile per agent profile and template pair may relate on auto-discovery.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "setAppProfileRelatesOnAutoDiscovery", + "parameters": [ + { + "name": "agentProfileId", + "in": "path", + "description": "Agent Profile Id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "applicationProfileId", + "in": "path", + "description": "Agent Application Profile Id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "relate", + "in": "query", + "description": "Whether the app profile should be auto-assigned to new auto-discovered applications with a matching template", + "required": true, + "schema": { + "type": "boolean" + } + } ], - "summary": "Get Asset Types (getAssetTypes)", - "description": "Deprecated. See 'getAssetProfileNames' API from Asset Profile Controller instead.\n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority.", - "operationId": "getAssetTypes", "responses": { "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/EntitySubtype" - } - } - } - } + "description": "OK" }, "400": { "description": "Bad Request", @@ -13060,7 +13280,7 @@ "summary": "Bad Request", "value": { "status": 400, - "message": "Invalid UUID string: 123", + "message": "Invalid request body", "errorCode": 31, "timestamp": 1609459200000 } @@ -13154,7 +13374,6 @@ } } }, - "deprecated": true, "security": [ { "HttpLoginForm": [] @@ -13165,20 +13384,67 @@ ] } }, - "/api/asset/{assetId}": { + "/api/agent/profile/{agentProfileId}/appProfile/{applicationProfileId}/bulk": { "get": { "tags": [ - "asset-controller" + "agent-profile-controller" ], - "summary": "Get Asset (getAssetById)", - "description": "Fetch the Asset object based on the provided Asset Id. If the user has the authority of 'Tenant Administrator', the server checks that the asset is owned by the same tenant. If the user has the authority of 'Customer User', the server checks that the asset is assigned to the same customer.\n\n Security check is performed to verify that the user has 'READ' permission for the entity (entities).", - "operationId": "getAssetById", + "summary": "Get Bulk Actions for Agent Profile and Application Profile (getAgentProfileAppProfileBulkActions)", + "description": "Returns a page of bulk actions previously submitted for the given agent profile and application profile pair. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getAgentProfileAppProfileBulkActions", "parameters": [ { - "name": "assetId", + "name": "agentProfileId", "in": "path", - "description": "A string value representing the asset id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "description": "Agent Profile Id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "applicationProfileId", + "in": "path", + "description": "Agent Application Profile Id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "pageSize", + "in": "query", + "description": "Maximum amount of entities in a one page", "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "page", + "in": "query", + "description": "Sequence number of page starting from 0", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "sortProperty", + "in": "query", + "description": "Property of entity to sort by", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "sortOrder", + "in": "query", + "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", + "required": false, "schema": { "type": "string" } @@ -13190,7 +13456,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Asset" + "$ref": "#/components/schemas/PageDataAgentBulkAction" } } } @@ -13310,27 +13576,53 @@ } ] }, - "delete": { + "post": { "tags": [ - "asset-controller" + "agent-profile-controller" ], - "summary": "Delete asset (deleteAsset)", - "description": "Deletes the asset and all the relations (from and to the asset). Referencing non-existing asset Id will cause an error.\n\n Security check is performed to verify that the user has 'DELETE' permission for the entity (entities).", - "operationId": "deleteAsset", + "summary": "Bulk Operation (bulkOperation)", + "description": "Enqueues a bulk operation over the applications of the given agent profile and application profile and returns the created bulk action to track its progress.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "bulkOperation", "parameters": [ { - "name": "assetId", + "name": "agentProfileId", "in": "path", - "description": "A string value representing the asset id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "description": "Agent Profile Id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "applicationProfileId", + "in": "path", + "description": "Agent Application Profile Id", "required": true, "schema": { "type": "string" } } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BulkOperationRequest" + } + } + }, + "required": true + }, "responses": { "200": { - "description": "OK" + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AgentBulkAction" + } + } + } }, "400": { "description": "Bad Request", @@ -13344,7 +13636,7 @@ "summary": "Bad Request", "value": { "status": 400, - "message": "Invalid UUID string: 123", + "message": "Invalid request body", "errorCode": 31, "timestamp": 1609459200000 } @@ -13448,99 +13740,51 @@ ] } }, - "/api/assetInfos/all": { - "get": { + "/api/agent/profile/{agentProfileId}/appProfile/{applicationProfileId}/bulk/preview": { + "post": { "tags": [ - "asset-controller" + "agent-profile-controller" ], - "summary": "Get All Asset Infos for current user (getAllAssetInfos)", - "description": "Returns a page of asset info objects owned by the tenant or the customer of a current user. Asset Info is an extension of the default Asset object that contains information about the owner name. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities).", - "operationId": "getAllAssetInfos", + "summary": "Preview Bulk Operation (previewBulkOperation)", + "description": "Previews the effect of a bulk operation over the applications of the given agent profile and application profile without enqueuing it, returning the set of affected applications and the resulting actions.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "previewBulkOperation", "parameters": [ { - "name": "pageSize", - "in": "query", - "description": "Maximum amount of entities in a one page", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "page", - "in": "query", - "description": "Sequence number of page starting from 0", + "name": "agentProfileId", + "in": "path", + "description": "Agent Profile Id", "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "includeCustomers", - "in": "query", - "description": "Include customer or sub-customer entities. For tenant administrator: when true, includes entities for all customers; when false (default), only own entities are returned. For customer user: when true, includes entities for all sub-customers.", - "required": false, - "schema": { - "type": "boolean" - } - }, - { - "name": "assetProfileId", - "in": "query", - "description": "A string value representing the asset profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", - "required": false, "schema": { "type": "string" } }, { - "name": "textSearch", - "in": "query", - "description": "The case insensitive 'substring' filter based on the asset name.", - "required": false, + "name": "applicationProfileId", + "in": "path", + "description": "Agent Application Profile Id", + "required": true, "schema": { "type": "string" } - }, - { - "name": "sortProperty", - "in": "query", - "description": "Property of entity to sort by", - "required": false, - "schema": { - "type": "string", - "enum": [ - "createdTime", - "name", - "type", - "label", - "customerTitle" - ] - } - }, - { - "name": "sortOrder", - "in": "query", - "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", - "required": false, - "schema": { - "type": "string", - "enum": [ - "ASC", - "DESC" - ] - } } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BulkOperationRequest" + } + } + }, + "required": true + }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageDataAssetInfo" + "$ref": "#/components/schemas/BulkOperationPreview" } } } @@ -13557,7 +13801,7 @@ "summary": "Bad Request", "value": { "status": 400, - "message": "Invalid UUID string: 123", + "message": "Invalid request body", "errorCode": 31, "timestamp": 1609459200000 } @@ -13661,20 +13905,29 @@ ] } }, - "/api/assets": { - "get": { + "/api/agent/profile/{agentProfileId}/appProfiles/assign": { + "post": { "tags": [ - "asset-controller" + "agent-profile-controller" ], - "summary": "Get Assets By Ids (getAssetsByIds)", - "description": "Requested assets must be owned by tenant or assigned to customer which user is performing the request. \n\n Security check is performed to verify that the user has 'READ' permission for the entity (entities).", - "operationId": "getAssetsByIds", + "summary": "Assign Multiple App Profiles to Agent Profile (assignAppProfilesToAgentProfile)", + "description": "Assigns the given set of agent application profiles to the agent profile in a single request, replacing the previous assignment set. An explicitly empty 'appProfileIds' value (e.g. 'appProfileIds=') removes all assignments.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "assignAppProfilesToAgentProfile", "parameters": [ { - "name": "assetIds", - "in": "query", - "description": "A list of asset ids, separated by comma ','", + "name": "agentProfileId", + "in": "path", + "description": "Agent Profile Id", "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "appProfileIds", + "in": "query", + "description": "Agent application profile ids that replace the current assignment set. An explicitly empty value removes all assignments.", + "required": false, "schema": { "type": "array", "items": { @@ -13685,17 +13938,7 @@ ], "responses": { "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Asset" - } - } - } - } + "description": "OK" }, "400": { "description": "Bad Request", @@ -13709,7 +13952,7 @@ "summary": "Bad Request", "value": { "status": 400, - "message": "Invalid UUID string: 123", + "message": "Invalid request body", "errorCode": 31, "timestamp": 1609459200000 } @@ -13811,24 +14054,27 @@ "ApiKeyForm": [] } ] - }, - "post": { + } + }, + "/api/agent/profile/{agentProfileId}/appProfilesInfo": { + "get": { "tags": [ - "asset-controller" + "agent-profile-controller" ], - "summary": "Find related assets (findAssetsByQuery)", - "description": "Returns all assets that are related to the specific entity. The entity id, relation type, asset types, depth of the search, and other query parameters defined using complex 'AssetSearchQuery' object. See 'Model' tab of the Parameters for more info. \n\n Security check is performed to verify that the user has 'READ' permission for the entity (entities).", - "operationId": "findAssetsByQuery", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AssetSearchQuery" - } + "summary": "Get Agent Profile App Profile Infos (getAgentProfileAppProfileInfos)", + "description": "Returns app profiles assigned to the given agent profile, enriched with template version, the count of AgentApplications using each app profile within this agent profile and the additional info of the assignment relation.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getAgentProfileAppProfileInfos", + "parameters": [ + { + "name": "agentProfileId", + "in": "path", + "description": "Agent Profile Id", + "required": true, + "schema": { + "type": "string" } - }, - "required": true - }, + } + ], "responses": { "200": { "description": "OK", @@ -13837,7 +14083,7 @@ "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/Asset" + "$ref": "#/components/schemas/AgentAppProfileRelationInfo" } } } @@ -13855,7 +14101,7 @@ "summary": "Bad Request", "value": { "status": 400, - "message": "Invalid request body", + "message": "Invalid UUID string: 123", "errorCode": 31, "timestamp": 1609459200000 } @@ -13959,19 +14205,19 @@ ] } }, - "/api/customer/{customerId}/assetInfos": { + "/api/agent/profile/{agentProfileId}/bulk": { "get": { "tags": [ - "asset-controller" + "agent-profile-controller" ], - "summary": "Get Customer Asset Infos (getCustomerAssetInfos)", - "description": "Returns a page of asset info objects owned by the specified customer. Asset Info is an extension of the default Asset object that contains information about the owner name. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities).", - "operationId": "getCustomerAssetInfos", + "summary": "Get Bulk Actions for Agent Profile (getAgentProfileBulkActions)", + "description": "Returns a page of bulk actions previously submitted for the given agent profile. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getAgentProfileBulkActions", "parameters": [ { - "name": "customerId", + "name": "agentProfileId", "in": "path", - "description": "A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "description": "Agent Profile Id", "required": true, "schema": { "type": "string" @@ -13997,47 +14243,13 @@ "format": "int32" } }, - { - "name": "includeCustomers", - "in": "query", - "description": "Include customer or sub-customer entities. For tenant administrator: when true, includes entities for all customers; when false (default), only own entities are returned. For customer user: when true, includes entities for all sub-customers.", - "required": false, - "schema": { - "type": "boolean" - } - }, - { - "name": "assetProfileId", - "in": "query", - "description": "A string value representing the asset profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "textSearch", - "in": "query", - "description": "The case insensitive 'substring' filter based on the asset name.", - "required": false, - "schema": { - "type": "string" - } - }, { "name": "sortProperty", "in": "query", "description": "Property of entity to sort by", "required": false, "schema": { - "type": "string", - "enum": [ - "createdTime", - "name", - "type", - "label", - "customerTitle" - ] + "type": "string" } }, { @@ -14046,11 +14258,7 @@ "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", "required": false, "schema": { - "type": "string", - "enum": [ - "ASC", - "DESC" - ] + "type": "string" } } ], @@ -14060,7 +14268,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageDataAssetInfo" + "$ref": "#/components/schemas/PageDataAgentBulkAction" } } } @@ -14181,90 +14389,23 @@ ] } }, - "/api/customer/{customerId}/assets": { - "get": { + "/api/agent/profile/{agentProfileId}/default": { + "post": { "tags": [ - "asset-controller" + "agent-profile-controller" ], - "summary": "Get Customer Assets (getCustomerAssets)", - "description": "Returns a page of assets objects owned by customer. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\n Security check is performed to verify that the user has 'READ' permission for the entity (entities).", - "operationId": "getCustomerAssets", + "summary": "Make Agent Profile Default (setDefaultAgentProfile)", + "description": "Marks agent profile as default within a tenant scope.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "setDefaultAgentProfile", "parameters": [ { - "name": "customerId", + "name": "agentProfileId", "in": "path", - "description": "A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "description": "Agent Profile Id", "required": true, "schema": { "type": "string" } - }, - { - "name": "pageSize", - "in": "query", - "description": "Maximum amount of entities in a one page", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "page", - "in": "query", - "description": "Sequence number of page starting from 0", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "type", - "in": "query", - "description": "Asset type", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "textSearch", - "in": "query", - "description": "The case insensitive 'substring' filter based on the asset name.", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "sortProperty", - "in": "query", - "description": "Property of entity to sort by", - "required": false, - "schema": { - "type": "string", - "enum": [ - "createdTime", - "name", - "type", - "label", - "customerTitle" - ] - } - }, - { - "name": "sortOrder", - "in": "query", - "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", - "required": false, - "schema": { - "type": "string", - "enum": [ - "ASC", - "DESC" - ] - } } ], "responses": { @@ -14273,7 +14414,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageDataAsset" + "$ref": "#/components/schemas/AgentProfile" } } } @@ -14290,7 +14431,7 @@ "summary": "Bad Request", "value": { "status": 400, - "message": "Invalid UUID string: 123", + "message": "Invalid request body", "errorCode": 31, "timestamp": 1609459200000 } @@ -14394,32 +14535,23 @@ ] } }, - "/api/entityGroup/{entityGroupId}/assets": { + "/api/tenant/agent/profileInfos": { "get": { "tags": [ - "asset-controller" + "agent-profile-controller" ], - "summary": "Get assets by Entity Group Id (getAssetsByEntityGroupId)", - "description": "Returns a page of asset objects that belongs to specified Entity Group Id. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\n Security check is performed to verify that the user has 'READ' permission for specified group.", - "operationId": "getAssetsByEntityGroupId", + "summary": "Get Tenant Agent Profile Infos (getTenantAgentProfileInfos)", + "description": "Returns a page of Agent Profile Info objects owned by the current tenant. Agent Profile Info is a lightweight object that contains only id and name of the profile. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getTenantAgentProfileInfos", "parameters": [ - { - "name": "entityGroupId", - "in": "path", - "description": "A string value representing the Entity Group Id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", - "required": true, - "schema": { - "type": "string" - } - }, { "name": "pageSize", "in": "query", "description": "Maximum amount of entities in a one page", "required": true, "schema": { - "type": "string", - "minimum": 1 + "type": "integer", + "format": "int32" } }, { @@ -14428,14 +14560,13 @@ "description": "Sequence number of page starting from 0", "required": true, "schema": { - "type": "string", - "minimum": 0 + "type": "integer", + "format": "int32" } }, { "name": "textSearch", "in": "query", - "description": "The case insensitive 'substring' filter based on the asset name.", "required": false, "schema": { "type": "string" @@ -14447,14 +14578,7 @@ "description": "Property of entity to sort by", "required": false, "schema": { - "type": "string", - "enum": [ - "createdTime", - "name", - "type", - "label", - "customerTitle" - ] + "type": "string" } }, { @@ -14463,11 +14587,7 @@ "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", "required": false, "schema": { - "type": "string", - "enum": [ - "ASC", - "DESC" - ] + "type": "string" } } ], @@ -14477,7 +14597,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageDataAsset" + "$ref": "#/components/schemas/PageDataAgentProfileInfo" } } } @@ -14598,20 +14718,57 @@ ] } }, - "/api/tenant/asset": { + "/api/tenant/agent/profiles": { "get": { "tags": [ - "asset-controller" + "agent-profile-controller" ], - "summary": "Get Tenant Asset (getTenantAssetByName)", - "description": "Requested asset must be owned by tenant that the user belongs to. Asset name is an unique property of asset. So it can be used to identify the asset.\n\n Security check is performed to verify that the user has 'READ' permission for the entity (entities).", - "operationId": "getTenantAssetByName", + "summary": "Get Tenant Agent Profiles (getTenantAgentProfiles)", + "description": "Returns a page of Agent Profile objects owned by the current tenant. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getTenantAgentProfiles", "parameters": [ { - "name": "assetName", + "name": "pageSize", "in": "query", - "description": "A string value representing the Asset name.", + "description": "Maximum amount of entities in a one page", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "page", + "in": "query", + "description": "Sequence number of page starting from 0", "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "textSearch", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "sortProperty", + "in": "query", + "description": "Property of entity to sort by", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "sortOrder", + "in": "query", + "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", + "required": false, "schema": { "type": "string" } @@ -14623,7 +14780,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Asset" + "$ref": "#/components/schemas/PageDataAgentProfile" } } } @@ -14744,90 +14901,20 @@ ] } }, - "/api/tenant/assets": { + "/api/ai/chats": { "get": { "tags": [ - "asset-controller" - ], - "summary": "Get Tenant Assets (getTenantAssets)", - "description": "Returns a page of assets owned by tenant. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\n Security check is performed to verify that the user has 'READ' permission for the entity (entities).", - "operationId": "getTenantAssets", - "parameters": [ - { - "name": "pageSize", - "in": "query", - "description": "Maximum amount of entities in a one page", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "page", - "in": "query", - "description": "Sequence number of page starting from 0", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "type", - "in": "query", - "description": "Asset type", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "textSearch", - "in": "query", - "description": "The case insensitive 'substring' filter based on the asset name.", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "sortProperty", - "in": "query", - "description": "Property of entity to sort by", - "required": false, - "schema": { - "type": "string", - "enum": [ - "createdTime", - "name", - "type", - "label", - "customerTitle" - ] - } - }, - { - "name": "sortOrder", - "in": "query", - "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", - "required": false, - "schema": { - "type": "string", - "enum": [ - "ASC", - "DESC" - ] - } - } + "ai-chat-controller" ], + "summary": "listChats", + "operationId": "listChats", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageDataAsset" + "$ref": "#/components/schemas/JsonNode" } } } @@ -14946,101 +15033,30 @@ "ApiKeyForm": [] } ] - } - }, - "/api/user/assets": { - "get": { + }, + "post": { "tags": [ - "asset-controller" + "ai-chat-controller" ], - "summary": "Get Assets (getUserAssets)", - "description": "Returns a page of assets objects available for the current user. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Asset Info is an extension of the default Asset object that contains information about the owner name. \n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities).", - "operationId": "getUserAssets", - "parameters": [ - { - "name": "pageSize", - "in": "query", - "description": "Maximum amount of entities in a one page", - "required": true, - "schema": { - "type": "string", - "minimum": 1 - } - }, - { - "name": "page", - "in": "query", - "description": "Sequence number of page starting from 0", - "required": true, - "schema": { - "type": "string", - "minimum": 0 - } - }, - { - "name": "type", - "in": "query", - "description": "Asset type", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "assetProfileId", - "in": "query", - "description": "A string value representing the asset profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "textSearch", - "in": "query", - "description": "The case insensitive 'substring' filter based on the asset name.", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "sortProperty", - "in": "query", - "description": "Property of entity to sort by", - "required": false, - "schema": { - "type": "string", - "enum": [ - "createdTime", - "name", - "type", - "label", - "customerTitle" - ] + "summary": "createChat", + "operationId": "createChat", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JsonNode" + } } }, - { - "name": "sortOrder", - "in": "query", - "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", - "required": false, - "schema": { - "type": "string", - "enum": [ - "ASC", - "DESC" - ] - } - } - ], + "required": true + }, "responses": { - "200": { - "description": "OK", + "201": { + "description": "Created", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageDataAsset" + "$ref": "#/components/schemas/JsonNode" } } } @@ -15057,7 +15073,7 @@ "summary": "Bad Request", "value": { "status": 400, - "message": "Invalid UUID string: 123", + "message": "Invalid request body", "errorCode": 31, "timestamp": 1609459200000 } @@ -15161,34 +15177,27 @@ ] } }, - "/api/assetProfile": { - "post": { + "/api/ai/chats/{chatId}": { + "delete": { "tags": [ - "asset-profile-controller" + "ai-chat-controller" ], - "summary": "Create Or Update Asset Profile (saveAssetProfile)", - "description": "Create or update the Asset Profile. When creating asset profile, platform generates asset profile id as [time-based UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_1_(date-time_and_MAC_address)). The newly created asset profile id will be present in the response. Specify existing asset profile id to update the asset profile. Referencing non-existing asset profile Id will cause 'Not Found' error. \n\nAsset profile name is unique in the scope of tenant. Only one 'default' asset profile may exist in scope of tenant. Remove 'id', 'tenantId' from the request body example (below) to create new Asset Profile entity. \n\nAvailable for users with 'TENANT_ADMIN' authority.", - "operationId": "saveAssetProfile", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AssetProfile" - } + "summary": "deleteChat", + "operationId": "deleteChat", + "parameters": [ + { + "name": "chatId", + "in": "path", + "required": true, + "schema": { + "type": "string", + "format": "uuid" } - }, - "required": true - }, + } + ], "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AssetProfile" - } - } - } + "204": { + "description": "No Content" }, "400": { "description": "Bad Request", @@ -15202,7 +15211,7 @@ "summary": "Bad Request", "value": { "status": 400, - "message": "Invalid request body", + "message": "Invalid UUID string: 123", "errorCode": 31, "timestamp": 1609459200000 } @@ -15304,42 +15313,38 @@ "ApiKeyForm": [] } ] - } - }, - "/api/assetProfile/names": { - "get": { + }, + "patch": { "tags": [ - "asset-profile-controller" + "ai-chat-controller" ], - "summary": "Get Asset Profile names (getAssetProfileNames)", - "description": "Returns a set of unique asset profile names owned by the tenant.\n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority.", - "operationId": "getAssetProfileNames", + "summary": "updateChat", + "operationId": "updateChat", "parameters": [ { - "name": "activeOnly", - "in": "query", - "description": "Flag indicating whether to retrieve exclusively the names of asset profiles that are referenced by tenant's assets.", - "required": false, + "name": "chatId", + "in": "path", + "required": true, "schema": { - "type": "boolean", - "default": false + "type": "string", + "format": "uuid" } } ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/EntityInfo" - } - } + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JsonNode" } } }, + "required": true + }, + "responses": { + "204": { + "description": "No Content" + }, "400": { "description": "Bad Request", "content": { @@ -15456,31 +15461,21 @@ ] } }, - "/api/assetProfile/{assetProfileId}": { + "/api/ai/chats/{chatId}/messages": { "get": { "tags": [ - "asset-profile-controller" + "ai-chat-controller" ], - "summary": "Get Asset Profile (getAssetProfileById)", - "description": "Fetch the Asset Profile object based on the provided Asset Profile Id. The server checks that the asset profile is owned by the same tenant. \n\nAvailable for users with 'TENANT_ADMIN' authority.", - "operationId": "getAssetProfileById", + "summary": "getChatMessages", + "operationId": "getChatMessages", "parameters": [ { - "name": "assetProfileId", + "name": "chatId", "in": "path", - "description": "A string value representing the asset profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", "required": true, "schema": { - "type": "string" - } - }, - { - "name": "inlineImages", - "in": "query", - "description": "Inline images as a data URL (Base64)", - "required": false, - "schema": { - "type": "boolean" + "type": "string", + "format": "uuid" } } ], @@ -15490,7 +15485,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AssetProfile" + "$ref": "#/components/schemas/JsonNode" } } } @@ -15610,27 +15605,62 @@ } ] }, - "delete": { + "post": { "tags": [ - "asset-profile-controller" + "ai-chat-controller" ], - "summary": "Delete asset profile (deleteAssetProfile)", - "description": "Deletes the asset profile. Referencing non-existing asset profile Id will cause an error. Can't delete the asset profile if it is referenced by existing assets.\n\nAvailable for users with 'TENANT_ADMIN' authority.", - "operationId": "deleteAssetProfile", + "summary": "sendChatMessage", + "operationId": "sendChatMessage", "parameters": [ { - "name": "assetProfileId", + "name": "chatId", "in": "path", - "description": "A string value representing the asset profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + } + }, + { + "name": "X-Authorization", + "in": "header", "required": true, "schema": { "type": "string" } + }, + { + "name": "Accept-Language", + "in": "header", + "required": false, + "schema": { + "type": "string" + } } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JsonNode" + } + } + }, + "required": true + }, "responses": { "200": { - "description": "OK" + "description": "OK", + "content": { + "text/event-stream": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ServerSentEventString" + } + } + } + } }, "400": { "description": "Bad Request", @@ -15644,7 +15674,7 @@ "summary": "Bad Request", "value": { "status": 400, - "message": "Invalid UUID string: 123", + "message": "Invalid request body", "errorCode": 31, "timestamp": 1609459200000 } @@ -15748,32 +15778,49 @@ ] } }, - "/api/assetProfile/{assetProfileId}/default": { + "/api/ai/devices/{deviceId}/dashboard": { "post": { "tags": [ - "asset-profile-controller" + "ai-device-dashboard-controller" ], - "summary": "Make Asset Profile Default (setDefaultAssetProfile)", - "description": "Marks asset profile as default within a tenant scope.\n\nAvailable for users with 'TENANT_ADMIN' authority.", - "operationId": "setDefaultAssetProfile", + "summary": "generateDashboard", + "operationId": "generateDashboard", "parameters": [ { - "name": "assetProfileId", + "name": "deviceId", "in": "path", - "description": "A string value representing the asset profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + } + }, + { + "name": "X-Authorization", + "in": "header", "required": true, "schema": { "type": "string" } } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JsonNode" + } + } + }, + "required": true + }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AssetProfile" + "$ref": "#/components/schemas/JsonNode" } } } @@ -15894,21 +15941,80 @@ ] } }, - "/api/assetProfileInfo/default": { + "/api/ai/model": { "get": { "tags": [ - "asset-profile-controller" + "ai-model-controller" + ], + "summary": "Get AI models (getAiModels)", + "description": "Returns a page of AI models. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getAiModels", + "parameters": [ + { + "name": "pageSize", + "in": "query", + "description": "Maximum amount of entities in a one page", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "page", + "in": "query", + "description": "Sequence number of page starting from 0", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "textSearch", + "in": "query", + "description": "The case insensitive 'substring' filter based on the AI model name, provider and model ID.", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "sortProperty", + "in": "query", + "description": "Property of entity to sort by", + "required": false, + "schema": { + "type": "string", + "enum": [ + "createdTime", + "name", + "provider", + "modelId" + ] + } + }, + { + "name": "sortOrder", + "in": "query", + "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", + "required": false, + "schema": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + } + } ], - "summary": "Get Default Asset Profile (getDefaultAssetProfileInfo)", - "description": "Fetch the Default Asset Profile Info object. Asset Profile Info is a lightweight object that includes main information about Asset Profile. \n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority.", - "operationId": "getDefaultAssetProfileInfo", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AssetProfileInfo" + "$ref": "#/components/schemas/PageDataAiModel" } } } @@ -16027,34 +16133,31 @@ "ApiKeyForm": [] } ] - } - }, - "/api/assetProfileInfo/{assetProfileId}": { - "get": { + }, + "post": { "tags": [ - "asset-profile-controller" + "ai-model-controller" ], - "summary": "Get Asset Profile Info (getAssetProfileInfoById)", - "description": "Fetch the Asset Profile Info object based on the provided Asset Profile Id. Asset Profile Info is a lightweight object that includes main information about Asset Profile. \n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority.", - "operationId": "getAssetProfileInfoById", - "parameters": [ - { - "name": "assetProfileId", - "in": "path", - "description": "A string value representing the asset profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", - "required": true, - "schema": { - "type": "string" + "summary": "Create or update AI model (saveAiModel)", + "description": "Creates or updates an AI model record.\n\n• **Create:** Omit the `id` to create a new record. The platform assigns a UUID to the new record and returns it in the `id` field of the response.\n\n• **Update:** Include an existing `id` to modify that record. If no matching record exists, the API responds with **404 Not Found**.\n\nTenant ID for the AI model will be taken from the authenticated user making the request, regardless of any value provided in the request body.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "saveAiModel", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AiModel" + } } - } - ], + }, + "required": true + }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AssetProfileInfo" + "$ref": "#/components/schemas/AiModel" } } } @@ -16071,7 +16174,7 @@ "summary": "Bad Request", "value": { "status": 400, - "message": "Invalid UUID string: 123", + "message": "Invalid request body", "errorCode": 31, "timestamp": 1609459200000 } @@ -16175,80 +16278,31 @@ ] } }, - "/api/assetProfileInfos": { - "get": { + "/api/ai/model/chat": { + "post": { "tags": [ - "asset-profile-controller" + "ai-model-controller" ], - "summary": "Get Asset Profile infos (getAssetProfileInfos)", - "description": "Returns a page of asset profile info objects owned by tenant. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Asset Profile Info is a lightweight object that includes main information about Asset Profile. \n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority.", - "operationId": "getAssetProfileInfos", - "parameters": [ - { - "name": "pageSize", - "in": "query", - "description": "Maximum amount of entities in a one page", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "page", - "in": "query", - "description": "Sequence number of page starting from 0", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "textSearch", - "in": "query", - "description": "The case insensitive 'substring' filter based on the asset profile name.", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "sortProperty", - "in": "query", - "description": "Property of entity to sort by", - "required": false, - "schema": { - "type": "string", - "enum": [ - "createdTime", - "name", - "description", - "isDefault" - ] + "summary": "Send request to AI chat model (sendChatRequest)", + "description": "Submits a single prompt - made up of an optional system message and a required user message - to the specified AI chat model and returns either the generated answer or an error envelope.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "sendChatRequest", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TbChatRequest" + } } }, - { - "name": "sortOrder", - "in": "query", - "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", - "required": false, - "schema": { - "type": "string", - "enum": [ - "ASC", - "DESC" - ] - } - } - ], + "required": true + }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageDataAssetProfileInfo" + "$ref": "#/components/schemas/TbChatResponse" } } } @@ -16265,7 +16319,7 @@ "summary": "Bad Request", "value": { "status": 400, - "message": "Invalid UUID string: 123", + "message": "Invalid request body", "errorCode": 31, "timestamp": 1609459200000 } @@ -16369,26 +16423,25 @@ ] } }, - "/api/assetProfileInfos/list": { + "/api/ai/model/{modelUuid}": { "get": { "tags": [ - "asset-profile-controller" + "ai-model-controller" ], - "summary": "Get Asset Profiles By Ids (getAssetProfilesByIds)", - "description": "Requested asset profiles must be owned by tenant which is performing the request. \n\n Security check is performed to verify that the user has 'READ' permission for the entity (entities).", - "operationId": "getAssetProfilesByIds", + "summary": "Get AI model by ID (getAiModelById)", + "description": "Fetches an AI model record by its `id`.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getAiModelById", "parameters": [ { - "name": "assetProfileIds", - "in": "query", - "description": "A list of asset profile ids, separated by comma ','", + "name": "modelUuid", + "in": "path", + "description": "ID of the AI model record", "required": true, "schema": { - "type": "array", - "items": { - "type": "string" - } - } + "type": "string", + "format": "uuid" + }, + "example": "de7900d4-30e2-11f0-9cd2-0242ac120002" } ], "responses": { @@ -16397,10 +16450,7 @@ "content": { "application/json": { "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AssetProfileInfo" - } + "$ref": "#/components/schemas/AiModel" } } } @@ -16519,73 +16569,25 @@ "ApiKeyForm": [] } ] - } - }, - "/api/assetProfiles": { - "get": { + }, + "delete": { "tags": [ - "asset-profile-controller" + "ai-model-controller" ], - "summary": "Get Asset Profiles (getAssetProfiles)", - "description": "Returns a page of asset profile objects owned by tenant. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' authority.", - "operationId": "getAssetProfiles", + "summary": "Delete AI model by ID (deleteAiModelById)", + "description": "Deletes the AI model record by its `id`. If a record with the specified `id` exists, the record is deleted and the endpoint returns `true`. If no such record exists, the endpoint returns `false`.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "deleteAiModelById", "parameters": [ { - "name": "pageSize", - "in": "query", - "description": "Maximum amount of entities in a one page", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "page", - "in": "query", - "description": "Sequence number of page starting from 0", + "name": "modelUuid", + "in": "path", + "description": "ID of the AI model record", "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "textSearch", - "in": "query", - "description": "The case insensitive 'substring' filter based on the asset profile name.", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "sortProperty", - "in": "query", - "description": "Property of entity to sort by", - "required": false, "schema": { "type": "string", - "enum": [ - "createdTime", - "name", - "description", - "isDefault" - ] - } - }, - { - "name": "sortOrder", - "in": "query", - "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", - "required": false, - "schema": { - "type": "string", - "enum": [ - "ASC", - "DESC" - ] - } + "format": "uuid" + }, + "example": "de7900d4-30e2-11f0-9cd2-0242ac120002" } ], "responses": { @@ -16594,7 +16596,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageDataAssetProfile" + "type": "boolean" } } } @@ -16715,111 +16717,20 @@ ] } }, - "/api/audit/logs": { + "/api/ai/solution/infos": { "get": { "tags": [ - "audit-log-controller" - ], - "summary": "Get all audit logs (getAuditLogs)", - "description": "Returns a page of audit logs related to all entities in the scope of the current user's Tenant. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'SYS_ADMIN' or 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the audit logs.", - "operationId": "getAuditLogs", - "parameters": [ - { - "name": "pageSize", - "in": "query", - "description": "Maximum amount of entities in a one page", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "page", - "in": "query", - "description": "Sequence number of page starting from 0", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "textSearch", - "in": "query", - "description": "The case insensitive 'substring' filter based on one of the next properties: entityType, entityName, userName, actionType, actionStatus.", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "sortProperty", - "in": "query", - "description": "Property of audit log to sort by. See the 'Model' tab of the Response Class for more details. Note: entityType sort property is not defined in the AuditLog class, however, it can be used to sort audit logs by types of entities that were logged.", - "required": false, - "schema": { - "type": "string", - "enum": [ - "createdTime", - "entityType", - "entityName", - "userName", - "actionType", - "actionStatus" - ] - } - }, - { - "name": "sortOrder", - "in": "query", - "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", - "required": false, - "schema": { - "type": "string", - "enum": [ - "ASC", - "DESC" - ] - } - }, - { - "name": "startTime", - "in": "query", - "description": "The start timestamp in milliseconds of the search time range over the AuditLog class field: 'createdTime'.", - "required": false, - "schema": { - "type": "integer", - "format": "int64" - } - }, - { - "name": "endTime", - "in": "query", - "description": "The end timestamp in milliseconds of the search time range over the AuditLog class field: 'createdTime'.", - "required": false, - "schema": { - "type": "integer", - "format": "int64" - } - }, - { - "name": "actionTypes", - "in": "query", - "description": "A String value representing comma-separated list of action types. This parameter is optional, but it can be used to filter results to fetch only audit logs of specific action types. For example, 'LOGIN', 'LOGOUT'. See the 'Model' tab of the Response Class for more details.", - "required": false, - "schema": { - "type": "string" - } - } + "ai-solution-controller" ], + "summary": "getSolutions", + "operationId": "getSolutions", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageDataAuditLog" + "$ref": "#/components/schemas/JsonNode" } } } @@ -16940,120 +16851,20 @@ ] } }, - "/api/audit/logs/customer/{customerId}": { - "get": { + "/api/ai/solution/start": { + "post": { "tags": [ - "audit-log-controller" - ], - "summary": "Get audit logs by customer id (getAuditLogsByCustomerId)", - "description": "Returns a page of audit logs related to the targeted customer entities (devices, assets, etc.), and users actions (login, logout, etc.) that belong to this customer. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the audit logs.", - "operationId": "getAuditLogsByCustomerId", - "parameters": [ - { - "name": "customerId", - "in": "path", - "description": "A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "pageSize", - "in": "query", - "description": "Maximum amount of entities in a one page", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "page", - "in": "query", - "description": "Sequence number of page starting from 0", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "textSearch", - "in": "query", - "description": "The case insensitive 'substring' filter based on one of the next properties: entityType, entityName, userName, actionType, actionStatus.", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "sortProperty", - "in": "query", - "description": "Property of audit log to sort by. See the 'Model' tab of the Response Class for more details. Note: entityType sort property is not defined in the AuditLog class, however, it can be used to sort audit logs by types of entities that were logged.", - "required": false, - "schema": { - "type": "string", - "enum": [ - "createdTime", - "entityType", - "entityName", - "userName", - "actionType", - "actionStatus" - ] - } - }, - { - "name": "sortOrder", - "in": "query", - "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", - "required": false, - "schema": { - "type": "string", - "enum": [ - "ASC", - "DESC" - ] - } - }, - { - "name": "startTime", - "in": "query", - "description": "The start timestamp in milliseconds of the search time range over the AuditLog class field: 'createdTime'.", - "required": false, - "schema": { - "type": "integer", - "format": "int64" - } - }, - { - "name": "endTime", - "in": "query", - "description": "The end timestamp in milliseconds of the search time range over the AuditLog class field: 'createdTime'.", - "required": false, - "schema": { - "type": "integer", - "format": "int64" - } - }, - { - "name": "actionTypes", - "in": "query", - "description": "A String value representing comma-separated list of action types. This parameter is optional, but it can be used to filter results to fetch only audit logs of specific action types. For example, 'LOGIN', 'LOGOUT'. See the 'Model' tab of the Response Class for more details.", - "required": false, - "schema": { - "type": "string" - } - } + "ai-solution-controller" ], + "summary": "startNew", + "operationId": "startNew", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageDataAuditLog" + "$ref": "#/components/schemas/JsonNode" } } } @@ -17070,7 +16881,7 @@ "summary": "Bad Request", "value": { "status": 400, - "message": "Invalid UUID string: 123", + "message": "Invalid request body", "errorCode": 31, "timestamp": 1609459200000 } @@ -17174,119 +16985,21 @@ ] } }, - "/api/audit/logs/entity/{entityType}/{entityId}": { + "/api/ai/solution/{solutionId}": { "get": { "tags": [ - "audit-log-controller" + "ai-solution-controller" ], - "summary": "Get audit logs by entity id (getAuditLogsByEntityId)", - "description": "Returns a page of audit logs related to the actions on the targeted entity. Basically, this API call is used to get the full lifecycle of some specific entity. For example to see when a device was created, updated, assigned to some customer, or even deleted from the system. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'SYS_ADMIN' or 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the audit logs.", - "operationId": "getAuditLogsByEntityId", + "summary": "getSolution", + "operationId": "getSolution", "parameters": [ { - "name": "entityType", - "in": "path", - "description": "A string value representing the entity type. For example, 'DEVICE'", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "entityId", + "name": "solutionId", "in": "path", - "description": "A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "pageSize", - "in": "query", - "description": "Maximum amount of entities in a one page", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "page", - "in": "query", - "description": "Sequence number of page starting from 0", "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "textSearch", - "in": "query", - "description": "The case insensitive 'substring' filter based on one of the next properties: entityType, entityName, userName, actionType, actionStatus.", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "sortProperty", - "in": "query", - "description": "Property of audit log to sort by. See the 'Model' tab of the Response Class for more details. Note: entityType sort property is not defined in the AuditLog class, however, it can be used to sort audit logs by types of entities that were logged.", - "required": false, "schema": { "type": "string", - "enum": [ - "createdTime", - "entityType", - "entityName", - "userName", - "actionType", - "actionStatus" - ] - } - }, - { - "name": "sortOrder", - "in": "query", - "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", - "required": false, - "schema": { - "type": "string", - "enum": [ - "ASC", - "DESC" - ] - } - }, - { - "name": "startTime", - "in": "query", - "description": "The start timestamp in milliseconds of the search time range over the AuditLog class field: 'createdTime'.", - "required": false, - "schema": { - "type": "integer", - "format": "int64" - } - }, - { - "name": "endTime", - "in": "query", - "description": "The end timestamp in milliseconds of the search time range over the AuditLog class field: 'createdTime'.", - "required": false, - "schema": { - "type": "integer", - "format": "int64" - } - }, - { - "name": "actionTypes", - "in": "query", - "description": "A String value representing comma-separated list of action types. This parameter is optional, but it can be used to filter results to fetch only audit logs of specific action types. For example, 'LOGIN', 'LOGOUT'. See the 'Model' tab of the Response Class for more details.", - "required": false, - "schema": { - "type": "string" + "format": "uuid" } } ], @@ -17296,7 +17009,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageDataAuditLog" + "$ref": "#/components/schemas/JsonNode" } } } @@ -17415,125 +17128,27 @@ "ApiKeyForm": [] } ] - } - }, - "/api/audit/logs/user/{userId}": { - "get": { + }, + "delete": { "tags": [ - "audit-log-controller" + "ai-solution-controller" ], - "summary": "Get audit logs by user id (getAuditLogsByUserId)", - "description": "Returns a page of audit logs related to the actions of targeted user. For example, RPC call to a particular device, or alarm acknowledgment for a specific device, etc. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the audit logs.", - "operationId": "getAuditLogsByUserId", + "summary": "deleteSolution", + "operationId": "deleteSolution", "parameters": [ { - "name": "userId", + "name": "solutionId", "in": "path", - "description": "A string value representing the user id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "pageSize", - "in": "query", - "description": "Maximum amount of entities in a one page", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "page", - "in": "query", - "description": "Sequence number of page starting from 0", "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "textSearch", - "in": "query", - "description": "The case insensitive 'substring' filter based on one of the next properties: entityType, entityName, userName, actionType, actionStatus.", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "sortProperty", - "in": "query", - "description": "Property of audit log to sort by. See the 'Model' tab of the Response Class for more details. Note: entityType sort property is not defined in the AuditLog class, however, it can be used to sort audit logs by types of entities that were logged.", - "required": false, - "schema": { - "type": "string", - "enum": [ - "createdTime", - "entityType", - "entityName", - "userName", - "actionType", - "actionStatus" - ] - } - }, - { - "name": "sortOrder", - "in": "query", - "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", - "required": false, "schema": { "type": "string", - "enum": [ - "ASC", - "DESC" - ] - } - }, - { - "name": "startTime", - "in": "query", - "description": "The start timestamp in milliseconds of the search time range over the AuditLog class field: 'createdTime'.", - "required": false, - "schema": { - "type": "integer", - "format": "int64" - } - }, - { - "name": "endTime", - "in": "query", - "description": "The end timestamp in milliseconds of the search time range over the AuditLog class field: 'createdTime'.", - "required": false, - "schema": { - "type": "integer", - "format": "int64" - } - }, - { - "name": "actionTypes", - "in": "query", - "description": "A String value representing comma-separated list of action types. This parameter is optional, but it can be used to filter results to fetch only audit logs of specific action types. For example, 'LOGIN', 'LOGOUT'. See the 'Model' tab of the Response Class for more details.", - "required": false, - "schema": { - "type": "string" + "format": "uuid" } } ], "responses": { "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PageDataAuditLog" - } - } - } + "description": "OK" }, "400": { "description": "Bad Request", @@ -17651,31 +17266,31 @@ ] } }, - "/api/auth/changePassword": { + "/api/ai/solution/{solutionId}/create": { "post": { "tags": [ - "auth-controller" + "ai-solution-controller" ], - "summary": "Change password for current User (changePassword)", - "description": "Change the password for the User which credentials are used to perform this REST API call. Be aware that previously generated [JWT](https://jwt.io/) tokens will be still valid until they expire.", - "operationId": "changePassword", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ChangePasswordRequest" - } + "summary": "createSolution", + "operationId": "createSolution", + "parameters": [ + { + "name": "solutionId", + "in": "path", + "required": true, + "schema": { + "type": "string", + "format": "uuid" } - }, - "required": true - }, + } + ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/JwtPair" + "$ref": "#/components/schemas/JsonNode" } } } @@ -17796,17 +17411,42 @@ ] } }, - "/api/auth/logout": { + "/api/ai/solution/{solutionId}/install": { "post": { "tags": [ - "auth-controller" + "ai-solution-controller" + ], + "summary": "installSolution", + "operationId": "installSolution", + "parameters": [ + { + "name": "solutionId", + "in": "path", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + } + }, + { + "name": "X-Authorization", + "in": "header", + "required": true, + "schema": { + "type": "string" + } + } ], - "summary": "Logout (logout)", - "description": "Special API call to record the 'logout' of the user to the Audit Logs. Since platform uses [JWT](https://jwt.io/), the actual logout is the procedure of clearing the [JWT](https://jwt.io/) token on the client side. ", - "operationId": "logout", "responses": { "200": { - "description": "OK" + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JsonNode" + } + } + } }, "400": { "description": "Bad Request", @@ -17924,21 +17564,39 @@ ] } }, - "/api/auth/user": { - "get": { + "/api/ai/solution/{solutionId}/uninstall": { + "delete": { "tags": [ - "auth-controller" + "ai-solution-controller" + ], + "summary": "uninstallSolution", + "operationId": "uninstallSolution", + "parameters": [ + { + "name": "solutionId", + "in": "path", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + } + }, + { + "name": "X-Authorization", + "in": "header", + "required": true, + "schema": { + "type": "string" + } + } ], - "summary": "Get current User (getUser)", - "description": "Get the information about the User which credentials are used to perform this REST API call.", - "operationId": "getUser", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/User" + "$ref": "#/components/schemas/JsonNode" } } } @@ -18059,32 +17717,49 @@ ] } }, - "/api/noauth/activate": { - "get": { + "/api/ai/solution/{solutionId}/{dataKey}": { + "put": { "tags": [ - "auth-controller" + "ai-solution-controller" ], - "summary": "Check Activate User Token (checkActivateToken)", - "description": "Checks the activation token and forwards user to 'Create Password' page. If token is valid, returns '303 See Other' (redirect) response code with the correct address of 'Create Password' page and same 'activateToken' specified in the URL parameters. If token is not valid, returns '409 Conflict'. If token is expired, redirects to error page.", - "operationId": "checkActivateToken", + "summary": "updateData", + "operationId": "updateData", "parameters": [ { - "name": "activateToken", - "in": "query", - "description": "The activate token string.", + "name": "solutionId", + "in": "path", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + } + }, + { + "name": "dataKey", + "in": "path", "required": true, "schema": { "type": "string" } } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JsonNode" + } + } + }, + "required": true + }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { - "type": "object" + "$ref": "#/components/schemas/JsonNode" } } } @@ -18194,23 +17869,40 @@ } } } - } - }, + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/ai/solution/{solutionId}/{step}/chat": { "post": { "tags": [ - "auth-controller" + "ai-solution-controller" ], - "summary": "Activate User", - "description": "Checks the activation token and updates corresponding user password in the database. Now the user may start using his password to login. The response already contains the [JWT](https://jwt.io) activation and refresh tokens, to simplify the user activation flow and avoid asking user to input password again after activation. If token is valid, returns the object that contains [JWT](https://jwt.io/) access and refresh tokens. If token is not valid, returns '400 Bad Request'.", - "operationId": "activateUser", + "summary": "chat", + "operationId": "chat", "parameters": [ { - "name": "sendActivationMail", - "in": "query", - "required": false, + "name": "solutionId", + "in": "path", + "required": true, "schema": { - "type": "boolean", - "default": true + "type": "string", + "format": "uuid" + } + }, + { + "name": "step", + "in": "path", + "required": true, + "schema": { + "$ref": "#/components/schemas/SolutionStep" } } ], @@ -18218,7 +17910,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ActivateUserRequest" + "type": "string" } } }, @@ -18230,7 +17922,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/JwtPair" + "$ref": "#/components/schemas/JsonNode" } } } @@ -18340,38 +18032,46 @@ } } } - } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] } }, - "/api/noauth/resetPassword": { - "get": { + "/api/ai/solution/{solutionId}/{step}/clear": { + "delete": { "tags": [ - "auth-controller" + "ai-solution-controller" ], - "summary": "Check password reset token (checkResetToken)", - "description": "Checks the password reset token and forwards user to 'Reset Password' page. If token is valid, returns '303 See Other' (redirect) response code with the correct address of 'Reset Password' page and same 'resetToken' specified in the URL parameters. If token is not valid, returns '409 Conflict'. If token is expired, redirects to error page.", - "operationId": "checkResetToken", + "summary": "clearStep", + "operationId": "clearStep", "parameters": [ { - "name": "resetToken", - "in": "query", - "description": "The reset token string.", + "name": "solutionId", + "in": "path", "required": true, "schema": { - "type": "string" + "type": "string", + "format": "uuid" + } + }, + { + "name": "step", + "in": "path", + "required": true, + "schema": { + "$ref": "#/components/schemas/SolutionStep" } } ], "responses": { "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "object" - } - } - } + "description": "OK" }, "400": { "description": "Bad Request", @@ -18478,20 +18178,29 @@ } } } - } - }, + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/ai/tools/resolve-approval": { "post": { "tags": [ - "auth-controller" + "ai-tool-controller" ], - "summary": "Reset password (resetPassword)", - "description": "Checks the password reset token and updates the password. If token is not valid, returns '400 Bad Request'.", - "operationId": "resetPassword", + "summary": "resolveToolApproval", + "operationId": "resolveToolApproval", "requestBody": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ResetPasswordRequest" + "$ref": "#/components/schemas/JsonNode" } } }, @@ -18499,7 +18208,14 @@ }, "responses": { "200": { - "description": "OK" + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JsonNode" + } + } + } }, "400": { "description": "Bad Request", @@ -18606,30 +18322,92 @@ } } } - } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] } }, - "/api/noauth/resetPasswordByEmail": { - "post": { + "/api/alarm/{alarmId}/comment": { + "get": { "tags": [ - "auth-controller" + "alarm-comment-controller" ], - "summary": "Request reset password email (requestResetPasswordByEmail)", - "description": "Request to send the reset password email if the user with specified email address is present in the database. Always return '200 OK' status for security purposes.", - "operationId": "requestResetPasswordByEmail", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ResetPasswordEmailRequest" - } + "summary": "Get Alarm comments (getAlarmComments)", + "description": "Returns a page of alarm comments for specified alarm. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority.", + "operationId": "getAlarmComments", + "parameters": [ + { + "name": "alarmId", + "in": "path", + "description": "A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, + "schema": { + "type": "string" } }, - "required": true - }, + { + "name": "pageSize", + "in": "query", + "description": "Maximum amount of entities in a one page", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "page", + "in": "query", + "description": "Sequence number of page starting from 0", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "sortProperty", + "in": "query", + "description": "Property of entity to sort by", + "required": false, + "schema": { + "type": "string", + "enum": [ + "createdTime", + "id" + ] + } + }, + { + "name": "sortOrder", + "in": "query", + "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", + "required": false, + "schema": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + } + } + ], "responses": { "200": { - "description": "OK" + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PageDataAlarmCommentInfo" + } + } + } }, "400": { "description": "Bad Request", @@ -18643,7 +18421,7 @@ "summary": "Bad Request", "value": { "status": 400, - "message": "Invalid request body", + "message": "Invalid UUID string: 123", "errorCode": 31, "timestamp": 1609459200000 } @@ -18736,24 +18514,52 @@ } } } - } - } - }, - "/api/noauth/userPasswordPolicy": { - "get": { + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + }, + "post": { "tags": [ - "auth-controller" + "alarm-comment-controller" ], - "summary": "Get the current User password policy (getUserPasswordPolicy)", - "description": "API call to get the password policy for the password validation form(s).", - "operationId": "getUserPasswordPolicy", + "summary": "Create or update Alarm Comment ", + "description": "Creates or Updates the Alarm Comment. When creating comment, platform generates Alarm Comment Id as [time-based UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_1_(date-time_and_MAC_address)). The newly created Alarm Comment id will be present in the response. Specify existing Alarm Comment id to update the alarm. Referencing non-existing Alarm Comment Id will cause 'Not Found' error. \n\n To create new Alarm comment entity it is enough to specify 'comment' json element with 'text' node, for example: {\"comment\": { \"text\": \"my comment\"}}. \n\n If comment type is not specified the default value 'OTHER' will be saved. If 'alarmId' or 'userId' specified in body it will be ignored.\n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority.", + "operationId": "saveAlarmComment", + "parameters": [ + { + "name": "alarmId", + "in": "path", + "description": "A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "A JSON value representing the comment.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AlarmComment" + } + } + }, + "required": true + }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UserPasswordPolicy" + "$ref": "#/components/schemas/AlarmComment" } } } @@ -18770,7 +18576,7 @@ "summary": "Bad Request", "value": { "status": 400, - "message": "Invalid UUID string: 123", + "message": "Invalid request body", "errorCode": 31, "timestamp": 1609459200000 } @@ -18863,116 +18669,48 @@ } } } - } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] } }, - "/api/blobEntities": { - "get": { + "/api/alarm/{alarmId}/comment/{commentId}": { + "delete": { "tags": [ - "blob-entity-controller" + "alarm-comment-controller" ], - "summary": "Get Blob Entities (getBlobEntities)", - "description": "Returns a page of BlobEntityWithCustomerInfo object that are available for the current user. The platform uses Blob(binary large object) entities in the reporting feature, in order to store Dashboard states snapshots of different content types in base64 format. BlobEntityWithCustomerInfo represents an object that contains base info about the blob entity(name, type, contentType, etc.) and info about the customer(customerTitle, customerIsPublic) of the user that scheduled generation of the dashboard report. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities).", - "operationId": "getBlobEntities", + "summary": "Delete Alarm comment (deleteAlarmComment)", + "description": "Deletes the Alarm comment. Referencing non-existing Alarm comment Id will cause an error.\n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority.", + "operationId": "deleteAlarmComment", "parameters": [ { - "name": "pageSize", - "in": "query", - "description": "Maximum amount of entities in a one page", - "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "page", - "in": "query", - "description": "Sequence number of page starting from 0", + "name": "alarmId", + "in": "path", + "description": "A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", "required": true, - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "type", - "in": "query", - "description": "A string value representing the blob entity type. For example, 'report'", - "required": false, "schema": { "type": "string" } }, { - "name": "textSearch", - "in": "query", - "description": "The case insensitive 'startsWith' filter based on the blob entity name.", - "required": false, + "name": "commentId", + "in": "path", + "description": "A string value representing the alarm comment id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, "schema": { "type": "string" } - }, - { - "name": "sortProperty", - "in": "query", - "description": "Property of entity to sort by", - "required": false, - "schema": { - "type": "string", - "enum": [ - "createdTime", - "name", - "type", - "contentType", - "customerTitle" - ] - } - }, - { - "name": "sortOrder", - "in": "query", - "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", - "required": false, - "schema": { - "type": "string", - "enum": [ - "ASC", - "DESC" - ] - } - }, - { - "name": "startTime", - "in": "query", - "description": "The start timestamp in milliseconds of the search time range over the BlobEntityWithCustomerInfo class field: 'createdTime'.", - "required": false, - "schema": { - "type": "integer", - "format": "int64" - } - }, - { - "name": "endTime", - "in": "query", - "description": "The end timestamp in milliseconds of the search time range over the BlobEntityWithCustomerInfo class field: 'createdTime'.", - "required": false, - "schema": { - "type": "integer", - "format": "int64" - } } ], "responses": { "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PageDataBlobEntityWithCustomerInfo" - } - } - } + "description": "OK" }, "400": { "description": "Bad Request", @@ -19090,38 +18828,32 @@ ] } }, - "/api/blobEntities/list": { - "get": { + "/api/alarm": { + "post": { "tags": [ - "blob-entity-controller" + "alarm-controller" ], - "summary": "Get Blob Entities By Ids (getBlobEntitiesByIds)", - "description": "Requested blob entities must be owned by tenant or assigned to customer which user is performing the request. The platform uses Blob(binary large object) entities in the reporting feature, in order to store Dashboard states snapshots of different content types in base64 format. BlobEntityInfo represents an object that contains base info about the blob entity(name, type, contentType, etc.). See the 'Model' tab of the Response Class for more details.\n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities).", - "operationId": "getBlobEntitiesByIds", - "parameters": [ - { - "name": "blobEntityIds", - "in": "query", - "description": "A list of blob entity ids, separated by comma ','", - "required": true, - "schema": { - "type": "array", - "items": { - "type": "string" + "summary": "Create or Update Alarm (saveAlarm)", + "description": "Creates or Updates the Alarm. When creating alarm, platform generates Alarm Id as [time-based UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_1_(date-time_and_MAC_address)). The newly created Alarm id will be present in the response. Specify existing Alarm id to update the alarm. Referencing non-existing Alarm Id will cause 'Not Found' error. \n\nPlatform also deduplicate the alarms based on the entity id of originator and alarm 'type'. For example, if the user or system component create the alarm with the type 'HighTemperature' for device 'Device A' the new active alarm is created. If the user tries to create 'HighTemperature' alarm for the same device again, the previous alarm will be updated (the 'end_ts' will be set to current timestamp). If the user clears the alarm (see 'Clear Alarm(clearAlarm)'), than new alarm with the same type and same device may be created. Remove 'id', 'tenantId' and optionally 'customerId' from the request body example (below) to create new Alarm entity. \n\nThe alarm originator is an immutable routing key: when updating an existing alarm, the 'originator' in the request body must match the stored alarm's originator. A request that references an existing alarm id but carries a different originator is treated as a lookup miss and causes a 'Not Found' error. \n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'WRITE' permission for the entity (entities).", + "operationId": "saveAlarm", + "requestBody": { + "description": "A JSON value representing the alarm.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Alarm" } } - } - ], + }, + "required": true + }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/BlobEntityInfo" - } + "$ref": "#/components/schemas/Alarm" } } } @@ -19138,7 +18870,7 @@ "summary": "Bad Request", "value": { "status": 400, - "message": "Invalid UUID string: 123", + "message": "Invalid request body", "errorCode": 31, "timestamp": 1609459200000 } @@ -19242,23 +18974,72 @@ ] } }, - "/api/blobEntity/info/{blobEntityId}": { + "/api/alarm/highestSeverity/{entityType}/{entityId}": { "get": { "tags": [ - "blob-entity-controller" + "alarm-controller" ], - "summary": "Get Blob Entity With Customer Info (getBlobEntityInfoById)", - "description": "Fetch the BlobEntityWithCustomerInfo object based on the provided Blob entity Id. The platform uses Blob(binary large object) entities in the reporting feature, in order to store Dashboard states snapshots of different content types in base64 format. BlobEntityWithCustomerInfo represents an object that contains base info about the blob entity(name, type, contentType, etc.) and info about the customer(customerTitle, customerIsPublic) of the user that scheduled generation of the dashboard report. Referencing non-existing Blob entity Id will cause an error.\n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities).", - "operationId": "getBlobEntityInfoById", + "summary": "Get Highest Alarm Severity (getHighestAlarmSeverity)", + "description": "Search the alarms by originator ('entityType' and entityId') and optional 'status' or 'searchStatus' filters and returns the highest AlarmSeverity(CRITICAL, MAJOR, MINOR, WARNING or INDETERMINATE). Specifying both parameters 'searchStatus' and 'status' at the same time will cause an error.\n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities).", + "operationId": "getHighestAlarmSeverity", "parameters": [ { - "name": "blobEntityId", + "name": "entityType", "in": "path", - "description": "A string value representing the blob entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "description": "A string value representing the entity type. For example, 'DEVICE'", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "entityId", + "in": "path", + "description": "A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", "required": true, "schema": { "type": "string" } + }, + { + "name": "searchStatus", + "in": "query", + "description": "A string value representing one of the AlarmSearchStatus enumeration value", + "required": false, + "schema": { + "type": "string", + "enum": [ + "ANY", + "ACTIVE", + "CLEARED", + "ACK", + "UNACK" + ] + } + }, + { + "name": "status", + "in": "query", + "description": "A string value representing one of the AlarmStatus enumeration value", + "required": false, + "schema": { + "type": "string", + "enum": [ + "ACTIVE_UNACK", + "ACTIVE_ACK", + "CLEARED_UNACK", + "CLEARED_ACK" + ] + } + }, + { + "name": "assigneeId", + "in": "query", + "description": "A string value representing the assignee user id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": false, + "schema": { + "type": "string" + } } ], "responses": { @@ -19267,7 +19048,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/BlobEntityWithCustomerInfo" + "$ref": "#/components/schemas/AlarmSeverity" } } } @@ -19388,19 +19169,19 @@ ] } }, - "/api/blobEntity/{blobEntityId}": { - "delete": { + "/api/alarm/info/{alarmId}": { + "get": { "tags": [ - "blob-entity-controller" + "alarm-controller" ], - "summary": "Delete Blob Entity (deleteBlobEntity)", - "description": "Delete Blob entity based on the provided Blob entity Id. Referencing non-existing Blob entity Id will cause an error.\n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority.\n\n Security check is performed to verify that the user has 'DELETE' permission for the entity (entities).", - "operationId": "deleteBlobEntity", + "summary": "Get Alarm Info (getAlarmInfoById)", + "description": "Fetch the Alarm Info object based on the provided Alarm Id. Alarm Info is an extension of the default Alarm object that also contains name of the alarm originator.\n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities).", + "operationId": "getAlarmInfoById", "parameters": [ { - "name": "blobEntityId", + "name": "alarmId", "in": "path", - "description": "A string value representing the blob entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "description": "A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", "required": true, "schema": { "type": "string" @@ -19409,7 +19190,14 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AlarmInfo" + } + } + } }, "400": { "description": "Bad Request", @@ -19527,23 +19315,56 @@ ] } }, - "/api/blobEntity/{blobEntityId}/download": { + "/api/alarm/types": { "get": { "tags": [ - "blob-entity-controller" + "alarm-controller" ], - "summary": "Download Blob Entity By Id (downloadBlobEntity)", - "description": "Download report file based on the provided Blob entity Id. Referencing non-existing Blob entity Id will cause an error.\n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities).", - "operationId": "downloadBlobEntity", + "summary": "Get Alarm Types (getAlarmTypes)", + "description": "Returns a set of unique alarm types based on alarms that are either owned by the tenant or assigned to the customer which user is performing the request.", + "operationId": "getAlarmTypes", "parameters": [ { - "name": "blobEntityId", - "in": "path", - "description": "A string value representing the blob entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "name": "pageSize", + "in": "query", + "description": "Maximum amount of entities in a one page", "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "page", + "in": "query", + "description": "Sequence number of page starting from 0", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "textSearch", + "in": "query", + "description": "The case insensitive 'substring' filter based on of next alarm fields: type, severity or status", + "required": false, "schema": { "type": "string" } + }, + { + "name": "sortOrder", + "in": "query", + "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", + "required": false, + "schema": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + } } ], "responses": { @@ -19552,8 +19373,7 @@ "content": { "application/json": { "schema": { - "type": "string", - "format": "binary" + "$ref": "#/components/schemas/PageDataEntitySubtype" } } } @@ -19674,32 +19494,176 @@ ] } }, - "/api/calculatedField": { - "post": { + "/api/alarm/{alarmId}": { + "get": { "tags": [ - "calculated-field-controller" + "alarm-controller" ], - "summary": "Create Or Update Calculated Field (saveCalculatedField)", - "description": "Creates or Updates the Calculated Field. When creating calculated field, platform generates Calculated Field Id as [time-based UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_1_(date-time_and_MAC_address)). The newly created Calculated Field Id will be present in the response. Specify existing Calculated Field Id to update the calculated field. Referencing non-existing Calculated Field Id will cause 'Not Found' error. Remove 'id', 'tenantId' from the request body example (below) to create new Calculated Field entity. \n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority.", - "operationId": "saveCalculatedField", - "requestBody": { - "description": "A JSON value representing the calculated field.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CalculatedField" + "summary": "Get Alarm (getAlarmById)", + "description": "Fetch the Alarm object based on the provided Alarm Id. \n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities).", + "operationId": "getAlarmById", + "parameters": [ + { + "name": "alarmId", + "in": "path", + "description": "A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Alarm" + } } } }, - "required": true + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + }, + "delete": { + "tags": [ + "alarm-controller" + ], + "summary": "Delete Alarm (deleteAlarm)", + "description": "Deletes the Alarm. Referencing non-existing Alarm Id will cause an error.\n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'DELETE' permission for the entity (entities).", + "operationId": "deleteAlarm", + "parameters": [ + { + "name": "alarmId", + "in": "path", + "description": "A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, + "schema": { + "type": "string" + } + } + ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculatedField" + "type": "boolean" } } } @@ -19716,7 +19680,7 @@ "summary": "Bad Request", "value": { "status": 400, - "message": "Invalid request body", + "message": "Invalid UUID string: 123", "errorCode": 31, "timestamp": 1609459200000 } @@ -19820,32 +19784,32 @@ ] } }, - "/api/calculatedField/testScript": { + "/api/alarm/{alarmId}/ack": { "post": { "tags": [ - "calculated-field-controller" + "alarm-controller" ], - "summary": "Test Script expression", - "description": "Execute the Script expression and return the result. The format of request: \n\n```json\n{\n \"expression\": \"var temp = 0; foreach(element: temperature.values) {temp += element.value;} var avgTemperature = temp / temperature.values.size(); var adjustedTemperature = avgTemperature + 0.1 * humidity.value; return {\\\"adjustedTemperature\\\": adjustedTemperature};\",\n \"arguments\": {\n \"temperature\": {\n \"type\": \"TS_ROLLING\",\n \"timeWindow\": {\n \"startTs\": 1739775630002,\n \"endTs\": 65432211,\n \"limit\": 5\n },\n \"values\": [\n { \"ts\": 1739775639851, \"value\": 23 },\n { \"ts\": 1739775664561, \"value\": 43 },\n { \"ts\": 1739775713079, \"value\": 15 },\n { \"ts\": 1739775999522, \"value\": 34 },\n { \"ts\": 1739776228452, \"value\": 22 }\n ]\n },\n \"humidity\": { \"type\": \"SINGLE_VALUE\", \"ts\": 1739776478057, \"value\": 23 }\n }\n}\n```\n\n Expected result JSON contains \"output\" and \"error\".\n\nAvailable for users with 'TENANT_ADMIN' authority.", - "operationId": "testCalculatedFieldScript", - "requestBody": { - "description": "Test calculated field TBEL expression.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/JsonNode" - } + "summary": "Acknowledge Alarm (ackAlarm)", + "description": "Acknowledge the Alarm. Once acknowledged, the 'ack_ts' field will be set to current timestamp and special rule chain event 'ALARM_ACK' will be generated. Referencing non-existing Alarm Id will cause an error.\n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'WRITE' permission for the entity (entities).", + "operationId": "ackAlarm", + "parameters": [ + { + "name": "alarmId", + "in": "path", + "description": "A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, + "schema": { + "type": "string" } - }, - "required": true - }, + } + ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/JsonNode" + "$ref": "#/components/schemas/AlarmInfo" } } } @@ -19966,18 +19930,19 @@ ] } }, - "/api/calculatedField/{calculatedFieldId}": { - "get": { + "/api/alarm/{alarmId}/assign": { + "delete": { "tags": [ - "calculated-field-controller" + "alarm-controller" ], - "summary": "Get Calculated Field (getCalculatedFieldById)", - "description": "Fetch the Calculated Field object based on the provided Calculated Field Id.", - "operationId": "getCalculatedFieldById", + "summary": "Unassign Alarm (unassignAlarm)", + "description": "Unassign the Alarm. Once unassigned, the 'assign_ts' field will be set to current timestamp and special rule chain event 'ALARM_UNASSIGNED' will be generated. Referencing non-existing Alarm Id will cause an error.\n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority.", + "operationId": "unassignAlarm", "parameters": [ { - "name": "calculatedFieldId", + "name": "alarmId", "in": "path", + "description": "A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", "required": true, "schema": { "type": "string" @@ -19990,7 +19955,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculatedField" + "$ref": "#/components/schemas/Alarm" } } } @@ -20109,18 +20074,30 @@ "ApiKeyForm": [] } ] - }, - "delete": { + } + }, + "/api/alarm/{alarmId}/assign/{assigneeId}": { + "post": { "tags": [ - "calculated-field-controller" + "alarm-controller" ], - "summary": "Delete Calculated Field (deleteCalculatedField)", - "description": "Deletes the calculated field. Referencing non-existing Calculated Field Id will cause an error.\n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority.", - "operationId": "deleteCalculatedField", + "summary": "Assign/Reassign Alarm (assignAlarm)", + "description": "Assign the Alarm. Once assigned, the 'assign_ts' field will be set to current timestamp and special rule chain event 'ALARM_ASSIGNED' (or ALARM_REASSIGNED in case of assigning already assigned alarm) will be generated. Referencing non-existing Alarm Id will cause an error.\n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority.", + "operationId": "assignAlarm", "parameters": [ { - "name": "calculatedFieldId", + "name": "alarmId", + "in": "path", + "description": "A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "assigneeId", "in": "path", + "description": "A string value representing the user id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", "required": true, "schema": { "type": "string" @@ -20129,7 +20106,14 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Alarm" + } + } + } }, "400": { "description": "Bad Request", @@ -20143,7 +20127,11110 @@ "summary": "Bad Request", "value": { "status": 400, - "message": "Invalid UUID string: 123", + "message": "Invalid request body", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/alarm/{alarmId}/clear": { + "post": { + "tags": [ + "alarm-controller" + ], + "summary": "Clear Alarm (clearAlarm)", + "description": "Clear the Alarm. Once cleared, the 'clear_ts' field will be set to current timestamp and special rule chain event 'ALARM_CLEAR' will be generated. Referencing non-existing Alarm Id will cause an error.\n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'WRITE' permission for the entity (entities).", + "operationId": "clearAlarm", + "parameters": [ + { + "name": "alarmId", + "in": "path", + "description": "A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AlarmInfo" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid request body", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/alarm/{entityType}/{entityId}": { + "get": { + "tags": [ + "alarm-controller" + ], + "summary": "Get Alarms (getAlarmsByEntity)", + "description": "Returns a page of alarms for the selected entity. Specifying both parameters 'searchStatus' and 'status' at the same time will cause an error. \n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities).", + "operationId": "getAlarmsByEntity", + "parameters": [ + { + "name": "entityType", + "in": "path", + "description": "A string value representing the entity type. For example, 'DEVICE'", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "entityId", + "in": "path", + "description": "A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "searchStatus", + "in": "query", + "description": "A string value representing one of the AlarmSearchStatus enumeration value", + "required": false, + "schema": { + "type": "string", + "enum": [ + "ANY", + "ACTIVE", + "CLEARED", + "ACK", + "UNACK" + ] + } + }, + { + "name": "status", + "in": "query", + "description": "A string value representing one of the AlarmStatus enumeration value", + "required": false, + "schema": { + "type": "string", + "enum": [ + "ACTIVE_UNACK", + "ACTIVE_ACK", + "CLEARED_UNACK", + "CLEARED_ACK" + ] + } + }, + { + "name": "assigneeId", + "in": "query", + "description": "A string value representing the assignee user id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "pageSize", + "in": "query", + "description": "Maximum amount of entities in a one page", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "page", + "in": "query", + "description": "Sequence number of page starting from 0", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "textSearch", + "in": "query", + "description": "The case insensitive 'substring' filter based on of next alarm fields: type, severity or status", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "sortProperty", + "in": "query", + "description": "Property of entity to sort by", + "required": false, + "schema": { + "type": "string", + "enum": [ + "createdTime", + "startTs", + "endTs", + "type", + "ackTs", + "clearTs", + "severity", + "status" + ] + } + }, + { + "name": "sortOrder", + "in": "query", + "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", + "required": false, + "schema": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + } + }, + { + "name": "startTime", + "in": "query", + "description": "The start timestamp in milliseconds of the search time range over the Alarm class field: 'createdTime'.", + "required": false, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "endTime", + "in": "query", + "description": "The end timestamp in milliseconds of the search time range over the Alarm class field: 'createdTime'.", + "required": false, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "fetchOriginator", + "in": "query", + "description": "A boolean value to specify if the alarm originator name will be filled in the AlarmInfo object field: 'originatorName' or will returns as null.", + "required": false, + "schema": { + "type": "boolean" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PageDataAlarmInfo" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/alarms": { + "get": { + "tags": [ + "alarm-controller" + ], + "summary": "Get All Alarms (getAllAlarms)", + "description": "Returns a page of alarms that belongs to the current user owner. If the user has the authority of 'Tenant Administrator', the server returns alarms that belongs to the tenant of current user. If the user has the authority of 'Customer User', the server returns alarms that belongs to the customer of current user. Specifying both parameters 'searchStatus' and 'status' at the same time will cause an error. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities).", + "operationId": "getAllAlarms", + "parameters": [ + { + "name": "searchStatus", + "in": "query", + "description": "A string value representing one of the AlarmSearchStatus enumeration value", + "required": false, + "schema": { + "type": "string", + "enum": [ + "ANY", + "ACTIVE", + "CLEARED", + "ACK", + "UNACK" + ] + } + }, + { + "name": "status", + "in": "query", + "description": "A string value representing one of the AlarmStatus enumeration value", + "required": false, + "schema": { + "type": "string", + "enum": [ + "ACTIVE_UNACK", + "ACTIVE_ACK", + "CLEARED_UNACK", + "CLEARED_ACK" + ] + } + }, + { + "name": "assigneeId", + "in": "query", + "description": "A string value representing the assignee user id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "pageSize", + "in": "query", + "description": "Maximum amount of entities in a one page", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "page", + "in": "query", + "description": "Sequence number of page starting from 0", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "textSearch", + "in": "query", + "description": "The case insensitive 'substring' filter based on of next alarm fields: type, severity or status", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "sortProperty", + "in": "query", + "description": "Property of entity to sort by", + "required": false, + "schema": { + "type": "string", + "enum": [ + "createdTime", + "startTs", + "endTs", + "type", + "ackTs", + "clearTs", + "severity", + "status" + ] + } + }, + { + "name": "sortOrder", + "in": "query", + "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", + "required": false, + "schema": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + } + }, + { + "name": "startTime", + "in": "query", + "description": "The start timestamp in milliseconds of the search time range over the Alarm class field: 'createdTime'.", + "required": false, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "endTime", + "in": "query", + "description": "The end timestamp in milliseconds of the search time range over the Alarm class field: 'createdTime'.", + "required": false, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "fetchOriginator", + "in": "query", + "description": "A boolean value to specify if the alarm originator name will be filled in the AlarmInfo object field: 'originatorName' or will returns as null.", + "required": false, + "schema": { + "type": "boolean" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PageDataAlarmInfo" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/v2/alarm/{entityType}/{entityId}": { + "get": { + "tags": [ + "alarm-controller" + ], + "summary": "Get Alarms (getAlarmsV2)", + "description": "Returns a page of alarms for the selected entity. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority.", + "operationId": "getAlarmsV2", + "parameters": [ + { + "name": "entityType", + "in": "path", + "description": "A string value representing the entity type. For example, 'DEVICE'", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "entityId", + "in": "path", + "description": "A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "statusList", + "in": "query", + "description": "A list of string values separated by comma ',' representing one of the AlarmSearchStatus enumeration value", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "ANY", + "ACTIVE", + "CLEARED", + "ACK", + "UNACK" + ] + } + } + }, + { + "name": "severityList", + "in": "query", + "description": "A list of string values separated by comma ',' representing one of the AlarmSeverity enumeration value", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "CRITICAL", + "MAJOR", + "MINOR", + "WARNING", + "INDETERMINATE" + ] + } + } + }, + { + "name": "typeList", + "in": "query", + "description": "A list of string values separated by comma ',' representing alarm types", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "assigneeId", + "in": "query", + "description": "A string value representing the assignee user id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "pageSize", + "in": "query", + "description": "Maximum amount of entities in a one page", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "page", + "in": "query", + "description": "Sequence number of page starting from 0", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "textSearch", + "in": "query", + "description": "The case insensitive 'substring' filter based on of next alarm fields: type, severity or status", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "sortProperty", + "in": "query", + "description": "Property of entity to sort by", + "required": false, + "schema": { + "type": "string", + "enum": [ + "createdTime", + "startTs", + "endTs", + "type", + "ackTs", + "clearTs", + "severity", + "status" + ] + } + }, + { + "name": "sortOrder", + "in": "query", + "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", + "required": false, + "schema": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + } + }, + { + "name": "startTime", + "in": "query", + "description": "The start timestamp in milliseconds of the search time range over the Alarm class field: 'createdTime'.", + "required": false, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "endTime", + "in": "query", + "description": "The end timestamp in milliseconds of the search time range over the Alarm class field: 'createdTime'.", + "required": false, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PageDataAlarmInfo" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/v2/alarms": { + "get": { + "tags": [ + "alarm-controller" + ], + "summary": "Get All Alarms (getAllAlarmsV2)", + "description": "Returns a page of alarms that belongs to the current user owner. If the user has the authority of 'Tenant Administrator', the server returns alarms that belongs to the tenant of current user. If the user has the authority of 'Customer User', the server returns alarms that belongs to the customer of current user. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority.", + "operationId": "getAllAlarmsV2", + "parameters": [ + { + "name": "statusList", + "in": "query", + "description": "A list of string values separated by comma ',' representing one of the AlarmSearchStatus enumeration value", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "ANY", + "ACTIVE", + "CLEARED", + "ACK", + "UNACK" + ] + } + } + }, + { + "name": "severityList", + "in": "query", + "description": "A list of string values separated by comma ',' representing one of the AlarmSeverity enumeration value", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "CRITICAL", + "MAJOR", + "MINOR", + "WARNING", + "INDETERMINATE" + ] + } + } + }, + { + "name": "typeList", + "in": "query", + "description": "A list of string values separated by comma ',' representing alarm types", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "assigneeId", + "in": "query", + "description": "A string value representing the assignee user id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "pageSize", + "in": "query", + "description": "Maximum amount of entities in a one page", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "page", + "in": "query", + "description": "Sequence number of page starting from 0", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "textSearch", + "in": "query", + "description": "The case insensitive 'substring' filter based on of next alarm fields: type, severity or status", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "sortProperty", + "in": "query", + "description": "Property of entity to sort by", + "required": false, + "schema": { + "type": "string", + "enum": [ + "createdTime", + "startTs", + "endTs", + "type", + "ackTs", + "clearTs", + "severity", + "status" + ] + } + }, + { + "name": "sortOrder", + "in": "query", + "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", + "required": false, + "schema": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + } + }, + { + "name": "startTime", + "in": "query", + "description": "The start timestamp in milliseconds of the search time range over the Alarm class field: 'createdTime'.", + "required": false, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "endTime", + "in": "query", + "description": "The end timestamp in milliseconds of the search time range over the Alarm class field: 'createdTime'.", + "required": false, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PageDataAlarmInfo" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/alarm/rule": { + "post": { + "tags": [ + "alarm-rule-controller" + ], + "summary": "Create Or Update Alarm Rule (saveAlarmRule)", + "description": "Creates or Updates the Alarm Rule. When creating alarm rule, platform generates Alarm Rule Id as [time-based UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_1_(date-time_and_MAC_address)). The newly created Alarm Rule Id will be present in the response. Specify existing Alarm Rule Id to update the alarm rule. Referencing non-existing Alarm Rule Id will cause 'Not Found' error. Remove 'id', 'tenantId' from the request body example (below) to create new Alarm Rule entity. \n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "saveAlarmRule", + "requestBody": { + "description": "A JSON value representing the alarm rule.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AlarmRuleDefinition" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AlarmRuleDefinition" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid request body", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/alarm/rule/testScript": { + "post": { + "tags": [ + "alarm-rule-controller" + ], + "summary": "Test alarm rule TBEL expression (testAlarmRuleScript)", + "description": "Execute the alarm rule TBEL condition expression and return the result. Alarm rule expressions must return a boolean value. The format of request: \n\n```json\n{\n \"expression\": \"return temperature > 50;\",\n \"arguments\": {\n \"temperature\": { \"type\": \"SINGLE_VALUE\", \"ts\": 1739776478057, \"value\": 55 }\n }\n}\n```\n\n Expected result JSON contains \"output\" and \"error\".\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "testAlarmRuleScript", + "requestBody": { + "description": "Test alarm rule TBEL condition expression. The expression must return a boolean value.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JsonNode" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JsonNode" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid request body", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/alarm/rule/{alarmRuleId}": { + "get": { + "tags": [ + "alarm-rule-controller" + ], + "summary": "Get Alarm Rule (getAlarmRuleById)", + "description": "Fetch the Alarm Rule object based on the provided Alarm Rule Id.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getAlarmRuleById", + "parameters": [ + { + "name": "alarmRuleId", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AlarmRuleDefinition" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + }, + "delete": { + "tags": [ + "alarm-rule-controller" + ], + "summary": "Delete Alarm Rule (deleteAlarmRule)", + "description": "Deletes the alarm rule. Referencing non-existing Alarm Rule Id will cause an error.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "deleteAlarmRule", + "parameters": [ + { + "name": "alarmRuleId", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/alarm/rule/{alarmRuleId}/debug": { + "get": { + "tags": [ + "alarm-rule-controller" + ], + "summary": "Get latest alarm rule debug event (getLatestAlarmRuleDebugEvent)", + "description": "Gets latest alarm rule debug event for specified alarm rule id. Referencing non-existing alarm rule id will cause an error. \n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getLatestAlarmRuleDebugEvent", + "parameters": [ + { + "name": "alarmRuleId", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JsonNode" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/alarm/rules": { + "get": { + "tags": [ + "alarm-rule-controller" + ], + "summary": "Get alarm rules (getAlarmRules)", + "description": "Fetch tenant alarm rules based on the filter.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getAlarmRules", + "parameters": [ + { + "name": "pageSize", + "in": "query", + "description": "Maximum amount of entities in a one page", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "page", + "in": "query", + "description": "Sequence number of page starting from 0", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "entityType", + "in": "query", + "description": "Entity type filter. If not specified, alarm rules for all supported entity types will be returned.", + "required": false, + "schema": { + "$ref": "#/components/schemas/EntityType" + } + }, + { + "name": "entities", + "in": "query", + "description": "Entities filter. If not specified, alarm rules for entity type filter will be returned.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "format": "uuid" + }, + "uniqueItems": true + } + }, + { + "name": "textSearch", + "in": "query", + "description": "The case insensitive 'substring' filter based on the calculated field name.", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "sortProperty", + "in": "query", + "description": "Property of entity to sort by", + "required": false, + "schema": { + "type": "string", + "enum": [ + "createdTime", + "name" + ] + } + }, + { + "name": "sortOrder", + "in": "query", + "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", + "required": false, + "schema": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PageDataAlarmRuleDefinitionInfo" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/alarm/rules/names": { + "get": { + "tags": [ + "alarm-rule-controller" + ], + "summary": "Get alarm rule names (getAlarmRuleNames)", + "description": "Fetch the list of alarm rule names.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getAlarmRuleNames", + "parameters": [ + { + "name": "pageSize", + "in": "query", + "description": "Maximum amount of entities in a one page", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "page", + "in": "query", + "description": "Sequence number of page starting from 0", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "textSearch", + "in": "query", + "description": "The case insensitive 'substring' filter based on the calculated field name.", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "sortOrder", + "in": "query", + "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", + "required": false, + "schema": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PageDataString" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/alarm/rules/{entityType}/{entityId}": { + "get": { + "tags": [ + "alarm-rule-controller" + ], + "summary": "Get Alarm Rules by Entity Id (getAlarmRulesByEntityId)", + "description": "Fetch the Alarm Rules based on the provided Entity Id.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getAlarmRulesByEntityId", + "parameters": [ + { + "name": "entityType", + "in": "path", + "description": "A string value representing the entity type. For example, 'DEVICE'", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "entityId", + "in": "path", + "description": "A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "pageSize", + "in": "query", + "description": "Maximum amount of entities in a one page", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "page", + "in": "query", + "description": "Sequence number of page starting from 0", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "textSearch", + "in": "query", + "description": "The case insensitive 'substring' filter based on the calculated field name.", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "sortProperty", + "in": "query", + "description": "Property of entity to sort by", + "required": false, + "schema": { + "type": "string", + "enum": [ + "createdTime", + "name" + ] + } + }, + { + "name": "sortOrder", + "in": "query", + "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", + "required": false, + "schema": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PageDataAlarmRuleDefinition" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/apiKey": { + "post": { + "tags": [ + "api-key-controller" + ], + "summary": "Save API key for user (saveApiKey)", + "description": "Creates an API key for the given user and returns the token ONCE as 'ApiKey {value}'.\n\nAvailable for any authorized user. ", + "operationId": "saveApiKey", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiKeyInfo" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiKey" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid request body", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/apiKey/{id}": { + "delete": { + "tags": [ + "api-key-controller" + ], + "summary": "Delete API key by ID (deleteApiKey)", + "description": "Deletes the API key. Referencing non-existing ApiKey Id will cause an error.\n\nAvailable for any authorized user. ", + "operationId": "deleteApiKey", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + } + } + ], + "responses": { + "200": { + "description": "OK" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/apiKey/{id}/description": { + "put": { + "tags": [ + "api-key-controller" + ], + "summary": "Update API key Description", + "description": "Updates the description of the existing API key by apiKeyId. Only the description can be updated. Referencing a non-existing ApiKey Id will cause a 'Not Found' error.\n\nAvailable for any authorized user. ", + "operationId": "updateApiKeyDescription", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "A string value representing the api key id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "string", + "description": "New description for the API key" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiKeyInfo" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/apiKey/{id}/enabled/{enabledValue}": { + "put": { + "tags": [ + "api-key-controller" + ], + "summary": "Enable or disable API key (enableApiKey)", + "description": "Updates api key with enabled = true/false. \n\nAvailable for any authorized user. ", + "operationId": "enableApiKey", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Unique identifier of the API key to enable/disable", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + } + }, + { + "name": "enabledValue", + "in": "path", + "description": "Enabled or disabled api key", + "required": true, + "schema": { + "type": "boolean" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiKeyInfo" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/apiKeys/{userId}": { + "get": { + "tags": [ + "api-key-controller" + ], + "summary": "Get User Api Keys (getUserApiKeys)", + "description": "Returns a page of api keys owned by user. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for any authorized user. ", + "operationId": "getUserApiKeys", + "parameters": [ + { + "name": "userId", + "in": "path", + "description": "A string value representing the user id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "pageSize", + "in": "query", + "description": "Maximum amount of entities in a one page", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "page", + "in": "query", + "description": "Sequence number of page starting from 0", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "textSearch", + "in": "query", + "description": "The case insensitive 'substring' filter based on the description.", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "sortProperty", + "in": "query", + "description": "Property of entity to sort by", + "required": false, + "schema": { + "type": "string", + "enum": [ + "createdTime", + "expirationTime", + "description", + "enabled" + ] + } + }, + { + "name": "sortOrder", + "in": "query", + "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", + "required": false, + "schema": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PageDataApiKeyInfo" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/asset": { + "post": { + "tags": [ + "asset-controller" + ], + "summary": "Create Or Update Asset (saveAsset)", + "description": "Creates or Updates the Asset. When creating asset, platform generates Asset Id as [time-based UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_1_(date-time_and_MAC_address)). The newly created Asset id will be present in the response. Specify existing Asset id to update the asset. Referencing non-existing Asset Id will cause 'Not Found' error. Remove 'id', 'tenantId' and optionally 'customerId' from the request body example (below) to create new Asset entity. \n\n Security check is performed to verify that the user has 'WRITE' permission for the entity (entities).", + "operationId": "saveAsset", + "parameters": [ + { + "name": "entityGroupId", + "in": "query", + "description": "A string value representing the Entity Group Id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'. If specified, the entity will be added to the corresponding entity group.", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "entityGroupIds", + "in": "query", + "description": "A list of string values, separated by comma ',' representing the Entity Group Ids. For example, '784f394c-42b6-435a-983c-b7beff2784f9','a84f394c-42b6-435a-083c-b7beff2784f9'. If specified, the entity will be added to the corresponding entity groups.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "nameConflictPolicy", + "in": "query", + "description": "Optional value of name conflict policy. Possible values: FAIL or UNIQUIFY. If omitted, FAIL policy is applied. FAIL policy implies exception will be thrown if an entity with the same name already exists. UNIQUIFY policy appends a suffix to the entity name, if a name conflict occurs.", + "required": false, + "schema": { + "$ref": "#/components/schemas/NameConflictPolicy", + "default": "FAIL" + } + }, + { + "name": "uniquifySeparator", + "in": "query", + "description": "Optional value of name suffix separator used by UNIQUIFY policy. By default, underscore separator is used. For example, strategy is UNIQUIFY, separator is '-'; if a name conflict occurs for entity name 'test-name', created entity will have name like 'test-name-7fsh4f'.", + "required": false, + "schema": { + "type": "string", + "default": "_" + } + }, + { + "name": "uniquifyStrategy", + "in": "query", + "description": "Optional value of uniquify strategy used by UNIQUIFY policy. Possible values: RANDOM or INCREMENTAL. By default, RANDOM strategy is used, which means random alphanumeric string will be added as a suffix to entity name. INCREMENTAL implies the first possible number starting from 1 will be added as a name suffix. For example, strategy is UNIQUIFY, uniquify strategy is INCREMENTAL; if a name conflict occurs for entity name 'test-name', created entity will have name like 'test-name-1.", + "required": false, + "schema": { + "$ref": "#/components/schemas/UniquifyStrategy", + "default": "RANDOM" + } + } + ], + "requestBody": { + "description": "A JSON value representing the asset.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Asset" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Asset" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid request body", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/asset/bulk_import": { + "post": { + "tags": [ + "asset-controller" + ], + "summary": "Import the bulk of assets (processAssetsBulkImport)", + "description": "There's an ability to import the bulk of assets using the only .csv file.\n\n Security check is performed to verify that the user has 'WRITE' permission for the entity (entities).", + "operationId": "processAssetBulkImport", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BulkImportRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BulkImportResultAsset" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid request body", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/asset/info/{assetId}": { + "get": { + "tags": [ + "asset-controller" + ], + "summary": "Get Asset Info (getAssetInfoById)", + "description": "Fetch the Asset Info object based on the provided Asset Id. If the user has the authority of 'Tenant Administrator', the server checks that the asset is owned by the same tenant. If the user has the authority of 'Customer User', the server checks that the asset is assigned to the same customer.Asset Info is an extension of the default Asset object that contains information about the owner name. \n\n Security check is performed to verify that the user has 'READ' permission for the entity (entities).", + "operationId": "getAssetInfoById", + "parameters": [ + { + "name": "assetId", + "in": "path", + "description": "A string value representing the asset id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AssetInfo" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/asset/types": { + "get": { + "tags": [ + "asset-controller" + ], + "summary": "Get Asset Types (getAssetTypes)", + "description": "Deprecated. See 'getAssetProfileNames' API from Asset Profile Controller instead.\n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority.", + "operationId": "getAssetTypes", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EntitySubtype" + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "deprecated": true, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/asset/{assetId}": { + "get": { + "tags": [ + "asset-controller" + ], + "summary": "Get Asset (getAssetById)", + "description": "Fetch the Asset object based on the provided Asset Id. If the user has the authority of 'Tenant Administrator', the server checks that the asset is owned by the same tenant. If the user has the authority of 'Customer User', the server checks that the asset is assigned to the same customer.\n\n Security check is performed to verify that the user has 'READ' permission for the entity (entities).", + "operationId": "getAssetById", + "parameters": [ + { + "name": "assetId", + "in": "path", + "description": "A string value representing the asset id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Asset" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + }, + "delete": { + "tags": [ + "asset-controller" + ], + "summary": "Delete asset (deleteAsset)", + "description": "Deletes the asset and all the relations (from and to the asset). Referencing non-existing asset Id will cause an error.\n\n Security check is performed to verify that the user has 'DELETE' permission for the entity (entities).", + "operationId": "deleteAsset", + "parameters": [ + { + "name": "assetId", + "in": "path", + "description": "A string value representing the asset id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/assetInfos/all": { + "get": { + "tags": [ + "asset-controller" + ], + "summary": "Get All Asset Infos for current user (getAllAssetInfos)", + "description": "Returns a page of asset info objects owned by the tenant or the customer of a current user. Asset Info is an extension of the default Asset object that contains information about the owner name. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities).", + "operationId": "getAllAssetInfos", + "parameters": [ + { + "name": "pageSize", + "in": "query", + "description": "Maximum amount of entities in a one page", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "page", + "in": "query", + "description": "Sequence number of page starting from 0", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "includeCustomers", + "in": "query", + "description": "Include customer or sub-customer entities. For tenant administrator: when true, includes entities for all customers; when false (default), only own entities are returned. For customer user: when true, includes entities for all sub-customers.", + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "assetProfileId", + "in": "query", + "description": "A string value representing the asset profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "textSearch", + "in": "query", + "description": "The case insensitive 'substring' filter based on the asset name.", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "sortProperty", + "in": "query", + "description": "Property of entity to sort by", + "required": false, + "schema": { + "type": "string", + "enum": [ + "createdTime", + "name", + "type", + "label", + "customerTitle" + ] + } + }, + { + "name": "sortOrder", + "in": "query", + "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", + "required": false, + "schema": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PageDataAssetInfo" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/assets": { + "get": { + "tags": [ + "asset-controller" + ], + "summary": "Get Assets By Ids (getAssetsByIds)", + "description": "Requested assets must be owned by tenant or assigned to customer which user is performing the request. \n\n Security check is performed to verify that the user has 'READ' permission for the entity (entities).", + "operationId": "getAssetsByIds", + "parameters": [ + { + "name": "assetIds", + "in": "query", + "description": "A list of asset ids, separated by comma ','", + "required": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Asset" + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + }, + "post": { + "tags": [ + "asset-controller" + ], + "summary": "Find related assets (findAssetsByQuery)", + "description": "Returns all assets that are related to the specific entity. The entity id, relation type, asset types, depth of the search, and other query parameters defined using complex 'AssetSearchQuery' object. See 'Model' tab of the Parameters for more info. \n\n Security check is performed to verify that the user has 'READ' permission for the entity (entities).", + "operationId": "findAssetsByQuery", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AssetSearchQuery" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Asset" + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid request body", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/customer/{customerId}/assetInfos": { + "get": { + "tags": [ + "asset-controller" + ], + "summary": "Get Customer Asset Infos (getCustomerAssetInfos)", + "description": "Returns a page of asset info objects owned by the specified customer. Asset Info is an extension of the default Asset object that contains information about the owner name. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities).", + "operationId": "getCustomerAssetInfos", + "parameters": [ + { + "name": "customerId", + "in": "path", + "description": "A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "pageSize", + "in": "query", + "description": "Maximum amount of entities in a one page", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "page", + "in": "query", + "description": "Sequence number of page starting from 0", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "includeCustomers", + "in": "query", + "description": "Include customer or sub-customer entities. For tenant administrator: when true, includes entities for all customers; when false (default), only own entities are returned. For customer user: when true, includes entities for all sub-customers.", + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "assetProfileId", + "in": "query", + "description": "A string value representing the asset profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "textSearch", + "in": "query", + "description": "The case insensitive 'substring' filter based on the asset name.", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "sortProperty", + "in": "query", + "description": "Property of entity to sort by", + "required": false, + "schema": { + "type": "string", + "enum": [ + "createdTime", + "name", + "type", + "label", + "customerTitle" + ] + } + }, + { + "name": "sortOrder", + "in": "query", + "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", + "required": false, + "schema": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PageDataAssetInfo" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/customer/{customerId}/assets": { + "get": { + "tags": [ + "asset-controller" + ], + "summary": "Get Customer Assets (getCustomerAssets)", + "description": "Returns a page of assets objects owned by customer. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\n Security check is performed to verify that the user has 'READ' permission for the entity (entities).", + "operationId": "getCustomerAssets", + "parameters": [ + { + "name": "customerId", + "in": "path", + "description": "A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "pageSize", + "in": "query", + "description": "Maximum amount of entities in a one page", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "page", + "in": "query", + "description": "Sequence number of page starting from 0", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "type", + "in": "query", + "description": "Asset type", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "textSearch", + "in": "query", + "description": "The case insensitive 'substring' filter based on the asset name.", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "sortProperty", + "in": "query", + "description": "Property of entity to sort by", + "required": false, + "schema": { + "type": "string", + "enum": [ + "createdTime", + "name", + "type", + "label", + "customerTitle" + ] + } + }, + { + "name": "sortOrder", + "in": "query", + "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", + "required": false, + "schema": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PageDataAsset" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/entityGroup/{entityGroupId}/assets": { + "get": { + "tags": [ + "asset-controller" + ], + "summary": "Get assets by Entity Group Id (getAssetsByEntityGroupId)", + "description": "Returns a page of asset objects that belongs to specified Entity Group Id. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\n Security check is performed to verify that the user has 'READ' permission for specified group.", + "operationId": "getAssetsByEntityGroupId", + "parameters": [ + { + "name": "entityGroupId", + "in": "path", + "description": "A string value representing the Entity Group Id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "pageSize", + "in": "query", + "description": "Maximum amount of entities in a one page", + "required": true, + "schema": { + "type": "string", + "minimum": 1 + } + }, + { + "name": "page", + "in": "query", + "description": "Sequence number of page starting from 0", + "required": true, + "schema": { + "type": "string", + "minimum": 0 + } + }, + { + "name": "textSearch", + "in": "query", + "description": "The case insensitive 'substring' filter based on the asset name.", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "sortProperty", + "in": "query", + "description": "Property of entity to sort by", + "required": false, + "schema": { + "type": "string", + "enum": [ + "createdTime", + "name", + "type", + "label", + "customerTitle" + ] + } + }, + { + "name": "sortOrder", + "in": "query", + "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", + "required": false, + "schema": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PageDataAsset" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/tenant/asset": { + "get": { + "tags": [ + "asset-controller" + ], + "summary": "Get Tenant Asset (getTenantAssetByName)", + "description": "Requested asset must be owned by tenant that the user belongs to. Asset name is an unique property of asset. So it can be used to identify the asset.\n\n Security check is performed to verify that the user has 'READ' permission for the entity (entities).", + "operationId": "getTenantAssetByName", + "parameters": [ + { + "name": "assetName", + "in": "query", + "description": "A string value representing the Asset name.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Asset" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/tenant/assets": { + "get": { + "tags": [ + "asset-controller" + ], + "summary": "Get Tenant Assets (getTenantAssets)", + "description": "Returns a page of assets owned by tenant. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\n Security check is performed to verify that the user has 'READ' permission for the entity (entities).", + "operationId": "getTenantAssets", + "parameters": [ + { + "name": "pageSize", + "in": "query", + "description": "Maximum amount of entities in a one page", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "page", + "in": "query", + "description": "Sequence number of page starting from 0", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "type", + "in": "query", + "description": "Asset type", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "textSearch", + "in": "query", + "description": "The case insensitive 'substring' filter based on the asset name.", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "sortProperty", + "in": "query", + "description": "Property of entity to sort by", + "required": false, + "schema": { + "type": "string", + "enum": [ + "createdTime", + "name", + "type", + "label", + "customerTitle" + ] + } + }, + { + "name": "sortOrder", + "in": "query", + "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", + "required": false, + "schema": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PageDataAsset" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/user/assets": { + "get": { + "tags": [ + "asset-controller" + ], + "summary": "Get Assets (getUserAssets)", + "description": "Returns a page of assets objects available for the current user. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Asset Info is an extension of the default Asset object that contains information about the owner name. \n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities).", + "operationId": "getUserAssets", + "parameters": [ + { + "name": "pageSize", + "in": "query", + "description": "Maximum amount of entities in a one page", + "required": true, + "schema": { + "type": "string", + "minimum": 1 + } + }, + { + "name": "page", + "in": "query", + "description": "Sequence number of page starting from 0", + "required": true, + "schema": { + "type": "string", + "minimum": 0 + } + }, + { + "name": "type", + "in": "query", + "description": "Asset type", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "assetProfileId", + "in": "query", + "description": "A string value representing the asset profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "textSearch", + "in": "query", + "description": "The case insensitive 'substring' filter based on the asset name.", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "sortProperty", + "in": "query", + "description": "Property of entity to sort by", + "required": false, + "schema": { + "type": "string", + "enum": [ + "createdTime", + "name", + "type", + "label", + "customerTitle" + ] + } + }, + { + "name": "sortOrder", + "in": "query", + "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", + "required": false, + "schema": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PageDataAsset" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/assetProfile": { + "post": { + "tags": [ + "asset-profile-controller" + ], + "summary": "Create Or Update Asset Profile (saveAssetProfile)", + "description": "Create or update the Asset Profile. When creating asset profile, platform generates asset profile id as [time-based UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_1_(date-time_and_MAC_address)). The newly created asset profile id will be present in the response. Specify existing asset profile id to update the asset profile. Referencing non-existing asset profile Id will cause 'Not Found' error. \n\nAsset profile name is unique in the scope of tenant. Only one 'default' asset profile may exist in scope of tenant. Remove 'id', 'tenantId' from the request body example (below) to create new Asset Profile entity. \n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "saveAssetProfile", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AssetProfile" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AssetProfile" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid request body", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/assetProfile/names": { + "get": { + "tags": [ + "asset-profile-controller" + ], + "summary": "Get Asset Profile names (getAssetProfileNames)", + "description": "Returns a set of unique asset profile names owned by the tenant.\n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority.", + "operationId": "getAssetProfileNames", + "parameters": [ + { + "name": "activeOnly", + "in": "query", + "description": "Flag indicating whether to retrieve exclusively the names of asset profiles that are referenced by tenant's assets.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EntityInfo" + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/assetProfile/{assetProfileId}": { + "get": { + "tags": [ + "asset-profile-controller" + ], + "summary": "Get Asset Profile (getAssetProfileById)", + "description": "Fetch the Asset Profile object based on the provided Asset Profile Id. The server checks that the asset profile is owned by the same tenant. \n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getAssetProfileById", + "parameters": [ + { + "name": "assetProfileId", + "in": "path", + "description": "A string value representing the asset profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "inlineImages", + "in": "query", + "description": "Inline images as a data URL (Base64)", + "required": false, + "schema": { + "type": "boolean" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AssetProfile" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + }, + "delete": { + "tags": [ + "asset-profile-controller" + ], + "summary": "Delete asset profile (deleteAssetProfile)", + "description": "Deletes the asset profile. Referencing non-existing asset profile Id will cause an error. Can't delete the asset profile if it is referenced by existing assets.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "deleteAssetProfile", + "parameters": [ + { + "name": "assetProfileId", + "in": "path", + "description": "A string value representing the asset profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/assetProfile/{assetProfileId}/default": { + "post": { + "tags": [ + "asset-profile-controller" + ], + "summary": "Make Asset Profile Default (setDefaultAssetProfile)", + "description": "Marks asset profile as default within a tenant scope.\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "setDefaultAssetProfile", + "parameters": [ + { + "name": "assetProfileId", + "in": "path", + "description": "A string value representing the asset profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AssetProfile" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid request body", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/assetProfileInfo/default": { + "get": { + "tags": [ + "asset-profile-controller" + ], + "summary": "Get Default Asset Profile (getDefaultAssetProfileInfo)", + "description": "Fetch the Default Asset Profile Info object. Asset Profile Info is a lightweight object that includes main information about Asset Profile. \n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority.", + "operationId": "getDefaultAssetProfileInfo", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AssetProfileInfo" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/assetProfileInfo/{assetProfileId}": { + "get": { + "tags": [ + "asset-profile-controller" + ], + "summary": "Get Asset Profile Info (getAssetProfileInfoById)", + "description": "Fetch the Asset Profile Info object based on the provided Asset Profile Id. Asset Profile Info is a lightweight object that includes main information about Asset Profile. \n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority.", + "operationId": "getAssetProfileInfoById", + "parameters": [ + { + "name": "assetProfileId", + "in": "path", + "description": "A string value representing the asset profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AssetProfileInfo" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/assetProfileInfos": { + "get": { + "tags": [ + "asset-profile-controller" + ], + "summary": "Get Asset Profile infos (getAssetProfileInfos)", + "description": "Returns a page of asset profile info objects owned by tenant. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Asset Profile Info is a lightweight object that includes main information about Asset Profile. \n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority.", + "operationId": "getAssetProfileInfos", + "parameters": [ + { + "name": "pageSize", + "in": "query", + "description": "Maximum amount of entities in a one page", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "page", + "in": "query", + "description": "Sequence number of page starting from 0", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "textSearch", + "in": "query", + "description": "The case insensitive 'substring' filter based on the asset profile name.", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "sortProperty", + "in": "query", + "description": "Property of entity to sort by", + "required": false, + "schema": { + "type": "string", + "enum": [ + "createdTime", + "name", + "description", + "isDefault" + ] + } + }, + { + "name": "sortOrder", + "in": "query", + "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", + "required": false, + "schema": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PageDataAssetProfileInfo" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/assetProfileInfos/list": { + "get": { + "tags": [ + "asset-profile-controller" + ], + "summary": "Get Asset Profiles By Ids (getAssetProfilesByIds)", + "description": "Requested asset profiles must be owned by tenant which is performing the request. \n\n Security check is performed to verify that the user has 'READ' permission for the entity (entities).", + "operationId": "getAssetProfilesByIds", + "parameters": [ + { + "name": "assetProfileIds", + "in": "query", + "description": "A list of asset profile ids, separated by comma ','", + "required": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AssetProfileInfo" + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/assetProfiles": { + "get": { + "tags": [ + "asset-profile-controller" + ], + "summary": "Get Asset Profiles (getAssetProfiles)", + "description": "Returns a page of asset profile objects owned by tenant. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "getAssetProfiles", + "parameters": [ + { + "name": "pageSize", + "in": "query", + "description": "Maximum amount of entities in a one page", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "page", + "in": "query", + "description": "Sequence number of page starting from 0", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "textSearch", + "in": "query", + "description": "The case insensitive 'substring' filter based on the asset profile name.", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "sortProperty", + "in": "query", + "description": "Property of entity to sort by", + "required": false, + "schema": { + "type": "string", + "enum": [ + "createdTime", + "name", + "description", + "isDefault" + ] + } + }, + { + "name": "sortOrder", + "in": "query", + "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", + "required": false, + "schema": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PageDataAssetProfile" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/audit/logs": { + "get": { + "tags": [ + "audit-log-controller" + ], + "summary": "Get all audit logs (getAuditLogs)", + "description": "Returns a page of audit logs related to all entities in the scope of the current user's Tenant. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'SYS_ADMIN' or 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the audit logs.", + "operationId": "getAuditLogs", + "parameters": [ + { + "name": "pageSize", + "in": "query", + "description": "Maximum amount of entities in a one page", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "page", + "in": "query", + "description": "Sequence number of page starting from 0", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "textSearch", + "in": "query", + "description": "The case insensitive 'substring' filter based on one of the next properties: entityType, entityName, userName, actionType, actionStatus.", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "sortProperty", + "in": "query", + "description": "Property of audit log to sort by. See the 'Model' tab of the Response Class for more details. Note: entityType sort property is not defined in the AuditLog class, however, it can be used to sort audit logs by types of entities that were logged.", + "required": false, + "schema": { + "type": "string", + "enum": [ + "createdTime", + "entityType", + "entityName", + "userName", + "actionType", + "actionStatus" + ] + } + }, + { + "name": "sortOrder", + "in": "query", + "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", + "required": false, + "schema": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + } + }, + { + "name": "startTime", + "in": "query", + "description": "The start timestamp in milliseconds of the search time range over the AuditLog class field: 'createdTime'.", + "required": false, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "endTime", + "in": "query", + "description": "The end timestamp in milliseconds of the search time range over the AuditLog class field: 'createdTime'.", + "required": false, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "actionTypes", + "in": "query", + "description": "A String value representing comma-separated list of action types. This parameter is optional, but it can be used to filter results to fetch only audit logs of specific action types. For example, 'LOGIN', 'LOGOUT'. See the 'Model' tab of the Response Class for more details.", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PageDataAuditLog" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/audit/logs/customer/{customerId}": { + "get": { + "tags": [ + "audit-log-controller" + ], + "summary": "Get audit logs by customer id (getAuditLogsByCustomerId)", + "description": "Returns a page of audit logs related to the targeted customer entities (devices, assets, etc.), and users actions (login, logout, etc.) that belong to this customer. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the audit logs.", + "operationId": "getAuditLogsByCustomerId", + "parameters": [ + { + "name": "customerId", + "in": "path", + "description": "A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "pageSize", + "in": "query", + "description": "Maximum amount of entities in a one page", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "page", + "in": "query", + "description": "Sequence number of page starting from 0", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "textSearch", + "in": "query", + "description": "The case insensitive 'substring' filter based on one of the next properties: entityType, entityName, userName, actionType, actionStatus.", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "sortProperty", + "in": "query", + "description": "Property of audit log to sort by. See the 'Model' tab of the Response Class for more details. Note: entityType sort property is not defined in the AuditLog class, however, it can be used to sort audit logs by types of entities that were logged.", + "required": false, + "schema": { + "type": "string", + "enum": [ + "createdTime", + "entityType", + "entityName", + "userName", + "actionType", + "actionStatus" + ] + } + }, + { + "name": "sortOrder", + "in": "query", + "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", + "required": false, + "schema": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + } + }, + { + "name": "startTime", + "in": "query", + "description": "The start timestamp in milliseconds of the search time range over the AuditLog class field: 'createdTime'.", + "required": false, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "endTime", + "in": "query", + "description": "The end timestamp in milliseconds of the search time range over the AuditLog class field: 'createdTime'.", + "required": false, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "actionTypes", + "in": "query", + "description": "A String value representing comma-separated list of action types. This parameter is optional, but it can be used to filter results to fetch only audit logs of specific action types. For example, 'LOGIN', 'LOGOUT'. See the 'Model' tab of the Response Class for more details.", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PageDataAuditLog" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/audit/logs/entity/{entityType}/{entityId}": { + "get": { + "tags": [ + "audit-log-controller" + ], + "summary": "Get audit logs by entity id (getAuditLogsByEntityId)", + "description": "Returns a page of audit logs related to the actions on the targeted entity. Basically, this API call is used to get the full lifecycle of some specific entity. For example to see when a device was created, updated, assigned to some customer, or even deleted from the system. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'SYS_ADMIN' or 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the audit logs.", + "operationId": "getAuditLogsByEntityId", + "parameters": [ + { + "name": "entityType", + "in": "path", + "description": "A string value representing the entity type. For example, 'DEVICE'", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "entityId", + "in": "path", + "description": "A string value representing the entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "pageSize", + "in": "query", + "description": "Maximum amount of entities in a one page", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "page", + "in": "query", + "description": "Sequence number of page starting from 0", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "textSearch", + "in": "query", + "description": "The case insensitive 'substring' filter based on one of the next properties: entityType, entityName, userName, actionType, actionStatus.", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "sortProperty", + "in": "query", + "description": "Property of audit log to sort by. See the 'Model' tab of the Response Class for more details. Note: entityType sort property is not defined in the AuditLog class, however, it can be used to sort audit logs by types of entities that were logged.", + "required": false, + "schema": { + "type": "string", + "enum": [ + "createdTime", + "entityType", + "entityName", + "userName", + "actionType", + "actionStatus" + ] + } + }, + { + "name": "sortOrder", + "in": "query", + "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", + "required": false, + "schema": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + } + }, + { + "name": "startTime", + "in": "query", + "description": "The start timestamp in milliseconds of the search time range over the AuditLog class field: 'createdTime'.", + "required": false, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "endTime", + "in": "query", + "description": "The end timestamp in milliseconds of the search time range over the AuditLog class field: 'createdTime'.", + "required": false, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "actionTypes", + "in": "query", + "description": "A String value representing comma-separated list of action types. This parameter is optional, but it can be used to filter results to fetch only audit logs of specific action types. For example, 'LOGIN', 'LOGOUT'. See the 'Model' tab of the Response Class for more details.", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PageDataAuditLog" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/audit/logs/user/{userId}": { + "get": { + "tags": [ + "audit-log-controller" + ], + "summary": "Get audit logs by user id (getAuditLogsByUserId)", + "description": "Returns a page of audit logs related to the actions of targeted user. For example, RPC call to a particular device, or alarm acknowledgment for a specific device, etc. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the audit logs.", + "operationId": "getAuditLogsByUserId", + "parameters": [ + { + "name": "userId", + "in": "path", + "description": "A string value representing the user id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "pageSize", + "in": "query", + "description": "Maximum amount of entities in a one page", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "page", + "in": "query", + "description": "Sequence number of page starting from 0", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "textSearch", + "in": "query", + "description": "The case insensitive 'substring' filter based on one of the next properties: entityType, entityName, userName, actionType, actionStatus.", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "sortProperty", + "in": "query", + "description": "Property of audit log to sort by. See the 'Model' tab of the Response Class for more details. Note: entityType sort property is not defined in the AuditLog class, however, it can be used to sort audit logs by types of entities that were logged.", + "required": false, + "schema": { + "type": "string", + "enum": [ + "createdTime", + "entityType", + "entityName", + "userName", + "actionType", + "actionStatus" + ] + } + }, + { + "name": "sortOrder", + "in": "query", + "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", + "required": false, + "schema": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + } + }, + { + "name": "startTime", + "in": "query", + "description": "The start timestamp in milliseconds of the search time range over the AuditLog class field: 'createdTime'.", + "required": false, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "endTime", + "in": "query", + "description": "The end timestamp in milliseconds of the search time range over the AuditLog class field: 'createdTime'.", + "required": false, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "actionTypes", + "in": "query", + "description": "A String value representing comma-separated list of action types. This parameter is optional, but it can be used to filter results to fetch only audit logs of specific action types. For example, 'LOGIN', 'LOGOUT'. See the 'Model' tab of the Response Class for more details.", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PageDataAuditLog" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/auth/changePassword": { + "post": { + "tags": [ + "auth-controller" + ], + "summary": "Change password for current User (changePassword)", + "description": "Change the password for the User which credentials are used to perform this REST API call. Be aware that previously generated [JWT](https://jwt.io/) tokens will be still valid until they expire.", + "operationId": "changePassword", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ChangePasswordRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JwtPair" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid request body", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/auth/logout": { + "post": { + "tags": [ + "auth-controller" + ], + "summary": "Logout (logout)", + "description": "Special API call to record the 'logout' of the user to the Audit Logs. Since platform uses [JWT](https://jwt.io/), the actual logout is the procedure of clearing the [JWT](https://jwt.io/) token on the client side. ", + "operationId": "logout", + "responses": { + "200": { + "description": "OK" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid request body", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/auth/user": { + "get": { + "tags": [ + "auth-controller" + ], + "summary": "Get current User (getUser)", + "description": "Get the information about the User which credentials are used to perform this REST API call.", + "operationId": "getUser", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/User" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/noauth/activate": { + "get": { + "tags": [ + "auth-controller" + ], + "summary": "Check Activate User Token (checkActivateToken)", + "description": "Checks the activation token and forwards user to 'Create Password' page. If token is valid, returns '303 See Other' (redirect) response code with the correct address of 'Create Password' page and same 'activateToken' specified in the URL parameters. If token is not valid, returns '409 Conflict'. If token is expired, redirects to error page.", + "operationId": "checkActivateToken", + "parameters": [ + { + "name": "activateToken", + "in": "query", + "description": "The activate token string.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + } + }, + "post": { + "tags": [ + "auth-controller" + ], + "summary": "Activate User", + "description": "Checks the activation token and updates corresponding user password in the database. Now the user may start using his password to login. The response already contains the [JWT](https://jwt.io) activation and refresh tokens, to simplify the user activation flow and avoid asking user to input password again after activation. If token is valid, returns the object that contains [JWT](https://jwt.io/) access and refresh tokens. If token is not valid, returns '400 Bad Request'.", + "operationId": "activateUser", + "parameters": [ + { + "name": "sendActivationMail", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": true + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ActivateUserRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JwtPair" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid request body", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + } + } + }, + "/api/noauth/resetPassword": { + "get": { + "tags": [ + "auth-controller" + ], + "summary": "Check password reset token (checkResetToken)", + "description": "Checks the password reset token and forwards user to 'Reset Password' page. If token is valid, returns '303 See Other' (redirect) response code with the correct address of 'Reset Password' page and same 'resetToken' specified in the URL parameters. If token is not valid, returns '409 Conflict'. If token is expired, redirects to error page.", + "operationId": "checkResetToken", + "parameters": [ + { + "name": "resetToken", + "in": "query", + "description": "The reset token string.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + } + }, + "post": { + "tags": [ + "auth-controller" + ], + "summary": "Reset password (resetPassword)", + "description": "Checks the password reset token and updates the password. If token is not valid, returns '400 Bad Request'.", + "operationId": "resetPassword", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResetPasswordRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid request body", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + } + } + }, + "/api/noauth/resetPasswordByEmail": { + "post": { + "tags": [ + "auth-controller" + ], + "summary": "Request reset password email (requestResetPasswordByEmail)", + "description": "Request to send the reset password email if the user with specified email address is present in the database. Always return '200 OK' status for security purposes.", + "operationId": "requestResetPasswordByEmail", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResetPasswordEmailRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid request body", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + } + } + }, + "/api/noauth/userPasswordPolicy": { + "get": { + "tags": [ + "auth-controller" + ], + "summary": "Get the current User password policy (getUserPasswordPolicy)", + "description": "API call to get the password policy for the password validation form(s).", + "operationId": "getUserPasswordPolicy", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserPasswordPolicy" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + } + } + }, + "/api/blobEntities": { + "get": { + "tags": [ + "blob-entity-controller" + ], + "summary": "Get Blob Entities (getBlobEntities)", + "description": "Returns a page of BlobEntityWithCustomerInfo object that are available for the current user. The platform uses Blob(binary large object) entities in the reporting feature, in order to store Dashboard states snapshots of different content types in base64 format. BlobEntityWithCustomerInfo represents an object that contains base info about the blob entity(name, type, contentType, etc.) and info about the customer(customerTitle, customerIsPublic) of the user that scheduled generation of the dashboard report. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities).", + "operationId": "getBlobEntities", + "parameters": [ + { + "name": "pageSize", + "in": "query", + "description": "Maximum amount of entities in a one page", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "page", + "in": "query", + "description": "Sequence number of page starting from 0", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "type", + "in": "query", + "description": "A string value representing the blob entity type. For example, 'report'", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "textSearch", + "in": "query", + "description": "The case insensitive 'startsWith' filter based on the blob entity name.", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "sortProperty", + "in": "query", + "description": "Property of entity to sort by", + "required": false, + "schema": { + "type": "string", + "enum": [ + "createdTime", + "name", + "type", + "contentType", + "customerTitle" + ] + } + }, + { + "name": "sortOrder", + "in": "query", + "description": "Sort order. ASC (ASCENDING) or DESC (DESCENDING)", + "required": false, + "schema": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + } + }, + { + "name": "startTime", + "in": "query", + "description": "The start timestamp in milliseconds of the search time range over the BlobEntityWithCustomerInfo class field: 'createdTime'.", + "required": false, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "endTime", + "in": "query", + "description": "The end timestamp in milliseconds of the search time range over the BlobEntityWithCustomerInfo class field: 'createdTime'.", + "required": false, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PageDataBlobEntityWithCustomerInfo" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/blobEntities/list": { + "get": { + "tags": [ + "blob-entity-controller" + ], + "summary": "Get Blob Entities By Ids (getBlobEntitiesByIds)", + "description": "Requested blob entities must be owned by tenant or assigned to customer which user is performing the request. The platform uses Blob(binary large object) entities in the reporting feature, in order to store Dashboard states snapshots of different content types in base64 format. BlobEntityInfo represents an object that contains base info about the blob entity(name, type, contentType, etc.). See the 'Model' tab of the Response Class for more details.\n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities).", + "operationId": "getBlobEntitiesByIds", + "parameters": [ + { + "name": "blobEntityIds", + "in": "query", + "description": "A list of blob entity ids, separated by comma ','", + "required": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BlobEntityInfo" + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/blobEntity/info/{blobEntityId}": { + "get": { + "tags": [ + "blob-entity-controller" + ], + "summary": "Get Blob Entity With Customer Info (getBlobEntityInfoById)", + "description": "Fetch the BlobEntityWithCustomerInfo object based on the provided Blob entity Id. The platform uses Blob(binary large object) entities in the reporting feature, in order to store Dashboard states snapshots of different content types in base64 format. BlobEntityWithCustomerInfo represents an object that contains base info about the blob entity(name, type, contentType, etc.) and info about the customer(customerTitle, customerIsPublic) of the user that scheduled generation of the dashboard report. Referencing non-existing Blob entity Id will cause an error.\n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities).", + "operationId": "getBlobEntityInfoById", + "parameters": [ + { + "name": "blobEntityId", + "in": "path", + "description": "A string value representing the blob entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BlobEntityWithCustomerInfo" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/blobEntity/{blobEntityId}": { + "delete": { + "tags": [ + "blob-entity-controller" + ], + "summary": "Delete Blob Entity (deleteBlobEntity)", + "description": "Delete Blob entity based on the provided Blob entity Id. Referencing non-existing Blob entity Id will cause an error.\n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority.\n\n Security check is performed to verify that the user has 'DELETE' permission for the entity (entities).", + "operationId": "deleteBlobEntity", + "parameters": [ + { + "name": "blobEntityId", + "in": "path", + "description": "A string value representing the blob entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/blobEntity/{blobEntityId}/download": { + "get": { + "tags": [ + "blob-entity-controller" + ], + "summary": "Download Blob Entity By Id (downloadBlobEntity)", + "description": "Download report file based on the provided Blob entity Id. Referencing non-existing Blob entity Id will cause an error.\n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities).", + "operationId": "downloadBlobEntity", + "parameters": [ + { + "name": "blobEntityId", + "in": "path", + "description": "A string value representing the blob entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/calculatedField": { + "post": { + "tags": [ + "calculated-field-controller" + ], + "summary": "Create Or Update Calculated Field (saveCalculatedField)", + "description": "Creates or Updates the Calculated Field. When creating calculated field, platform generates Calculated Field Id as [time-based UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_1_(date-time_and_MAC_address)). The newly created Calculated Field Id will be present in the response. Specify existing Calculated Field Id to update the calculated field. Referencing non-existing Calculated Field Id will cause 'Not Found' error. Remove 'id', 'tenantId' from the request body example (below) to create new Calculated Field entity. \n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority.", + "operationId": "saveCalculatedField", + "requestBody": { + "description": "A JSON value representing the calculated field.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CalculatedField" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CalculatedField" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid request body", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/calculatedField/testScript": { + "post": { + "tags": [ + "calculated-field-controller" + ], + "summary": "Test Script expression", + "description": "Execute the Script expression and return the result. The format of request: \n\n```json\n{\n \"expression\": \"var temp = 0; foreach(element: temperature.values) {temp += element.value;} var avgTemperature = temp / temperature.values.size(); var adjustedTemperature = avgTemperature + 0.1 * humidity.value; return {\\\"adjustedTemperature\\\": adjustedTemperature};\",\n \"arguments\": {\n \"temperature\": {\n \"type\": \"TS_ROLLING\",\n \"timeWindow\": {\n \"startTs\": 1739775630002,\n \"endTs\": 65432211,\n \"limit\": 5\n },\n \"values\": [\n { \"ts\": 1739775639851, \"value\": 23 },\n { \"ts\": 1739775664561, \"value\": 43 },\n { \"ts\": 1739775713079, \"value\": 15 },\n { \"ts\": 1739775999522, \"value\": 34 },\n { \"ts\": 1739776228452, \"value\": 22 }\n ]\n },\n \"humidity\": { \"type\": \"SINGLE_VALUE\", \"ts\": 1739776478057, \"value\": 23 }\n }\n}\n```\n\n Expected result JSON contains \"output\" and \"error\".\n\nAvailable for users with 'TENANT_ADMIN' authority.", + "operationId": "testCalculatedFieldScript", + "requestBody": { + "description": "Test calculated field TBEL expression.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JsonNode" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JsonNode" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid request body", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/calculatedField/{calculatedFieldId}": { + "get": { + "tags": [ + "calculated-field-controller" + ], + "summary": "Get Calculated Field (getCalculatedFieldById)", + "description": "Fetch the Calculated Field object based on the provided Calculated Field Id.", + "operationId": "getCalculatedFieldById", + "parameters": [ + { + "name": "calculatedFieldId", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CalculatedField" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + }, + "delete": { + "tags": [ + "calculated-field-controller" + ], + "summary": "Delete Calculated Field (deleteCalculatedField)", + "description": "Deletes the calculated field. Referencing non-existing Calculated Field Id will cause an error.\n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority.", + "operationId": "deleteCalculatedField", + "parameters": [ + { + "name": "calculatedFieldId", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", "errorCode": 31, "timestamp": 1609459200000 } @@ -41610,7 +52697,7 @@ "edge-controller" ], "summary": "Import the bulk of edges (processEdgesBulkImport)", - "description": "There's an ability to import the bulk of edges using the only .csv file.\n\nAvailable for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority.", + "description": "There's an ability to import the bulk of edges using the only .csv file.\n\nAvailable for users with 'TENANT_ADMIN' authority.", "operationId": "processEdgesBulkImport", "requestBody": { "content": { @@ -117697,433 +128784,1960 @@ } } }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ThingsboardErrorResponse" - }, - "examples": { - "error-code-429": { - "summary": "Too Many Requests", - "value": { - "status": 429, - "message": "Too many requests for current tenant!", - "errorCode": 33, - "timestamp": 1609459200000 - } - } - } - } - } + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/widgetsBundles/all": { + "get": { + "tags": [ + "widgets-bundle-controller" + ], + "summary": "Get all Widget Bundles (getAllWidgetsBundles)", + "description": "Returns an array of Widget Bundle objects that are available for current user.Widget Bundle represents a group(bundle) of widgets. Widgets are grouped into bundle by type or use case. \n\nAvailable for any authorized user. ", + "operationId": "getAllWidgetsBundles", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/WidgetsBundle" + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + }, + "/api/widgetsBundles/list": { + "get": { + "tags": [ + "widgets-bundle-controller" + ], + "summary": "Get Widgets Bundles By Ids (getWidgetsBundlesList)", + "description": "Requested widgets bundles must be system level or owned by tenant of the user which is performing the request. \n\n Security check is performed to verify that the user has 'READ' permission for the entity (entities).", + "operationId": "getWidgetsBundlesList", + "parameters": [ + { + "name": "widgetsBundleIds", + "in": "query", + "description": "A list of widgets bundle ids, separated by comma ','", + "required": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/WidgetsBundle" + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-400": { + "summary": "Bad Request", + "value": { + "status": 400, + "message": "Invalid UUID string: 123", + "errorCode": 31, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-401": { + "summary": "Unauthorized", + "value": { + "status": 401, + "message": "Authentication failed", + "errorCode": 10, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-403": { + "summary": "Forbidden", + "value": { + "status": 403, + "message": "You don't have permission to perform this operation!", + "errorCode": 20, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-404": { + "summary": "Not Found", + "value": { + "status": 404, + "message": "Requested item wasn't found!", + "errorCode": 32, + "timestamp": 1609459200000 + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThingsboardErrorResponse" + }, + "examples": { + "error-code-429": { + "summary": "Too Many Requests", + "value": { + "status": 429, + "message": "Too many requests for current tenant!", + "errorCode": 33, + "timestamp": 1609459200000 + } + } + } + } + } + } + }, + "security": [ + { + "HttpLoginForm": [] + }, + { + "ApiKeyForm": [] + } + ] + } + } + }, + "components": { + "schemas": { + "AccountTwoFaSettings": { + "type": "object", + "description": "Account Two-Factor Authentication Settings", + "properties": { + "configs": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/TwoFaAccountConfig" + } + } + } + }, + "Action": { + "type": "string", + "enum": [ + "ASSIGNED", + "UNASSIGNED" + ] + }, + "ActionStatus": { + "type": "string", + "enum": [ + "SUCCESS", + "FAILURE" + ] + }, + "ActionType": { + "type": "string", + "enum": [ + "ADDED", + "DELETED", + "UPDATED", + "ATTRIBUTES_UPDATED", + "ATTRIBUTES_DELETED", + "TIMESERIES_UPDATED", + "TIMESERIES_DELETED", + "RPC_CALL", + "CREDENTIALS_UPDATED", + "ASSIGNED_TO_CUSTOMER", + "UNASSIGNED_FROM_CUSTOMER", + "CHANGE_OWNER", + "ACTIVATED", + "SUSPENDED", + "CREDENTIALS_READ", + "ATTRIBUTES_READ", + "RELATION_ADD_OR_UPDATE", + "RELATION_DELETED", + "RELATIONS_DELETED", + "ALARM_ACK", + "ALARM_CLEAR", + "ALARM_DELETE", + "ALARM_ASSIGNED", + "ALARM_UNASSIGNED", + "ADDED_TO_ENTITY_GROUP", + "REMOVED_FROM_ENTITY_GROUP", + "REST_API_RULE_ENGINE_CALL", + "MADE_PUBLIC", + "MADE_PRIVATE", + "LOGIN", + "LOGOUT", + "LOCKOUT", + "ASSIGNED_FROM_TENANT", + "ASSIGNED_TO_TENANT", + "PROVISION_SUCCESS", + "PROVISION_FAILURE", + "ASSIGNED_TO_EDGE", + "UNASSIGNED_FROM_EDGE", + "ADDED_COMMENT", + "UPDATED_COMMENT", + "DELETED_COMMENT", + "SMS_SENT" + ] + }, + "ActivateUserRequest": { + "type": "object", + "description": "Activate user request.", + "properties": { + "activateToken": { + "type": "string", + "description": "The activate token to verify", + "example": "AAB254FF67D.." + }, + "password": { + "type": "string", + "description": "The new password to set", + "example": "secret" + } + } + }, + "AdminSettings": { + "type": "object", + "description": "A JSON value representing the Mail Settings.", + "properties": { + "id": { + "$ref": "#/components/schemas/AdminSettingsId", + "description": "The Id of the Administration Settings, auto-generated, UUID" + }, + "createdTime": { + "type": "integer", + "format": "int64", + "description": "Timestamp of the settings creation, in milliseconds", + "example": 1609459200000, + "readOnly": true + }, + "tenantId": { + "$ref": "#/components/schemas/TenantId", + "description": "JSON object with Tenant Id.", + "readOnly": true + }, + "key": { + "type": "string", + "description": "The Administration Settings key, (e.g. 'general' or 'mail')", + "example": "mail" + }, + "jsonValue": { + "$ref": "#/components/schemas/JsonNode", + "description": "JSON representation of the Administration Settings value" + } + } + }, + "AdminSettingsId": { + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/EntityId" + }, + { + "type": "object" + } + ], + "example": { + "entityType": "ADMIN_SETTINGS", + "id": "784f394c-42b6-435a-983c-b7beff2784f9" + } + }, + "AffectedTenantAdministratorsFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/UsersFilter" + } + ], + "example": { + "type": "AFFECTED_TENANT_ADMINISTRATORS" + } + }, + "AffectedUserFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/UsersFilter" + } + ], + "example": { + "type": "AFFECTED_USER" + } + }, + "Agent": { + "type": "object", + "properties": { + "id": { + "$ref": "#/components/schemas/AgentId", + "description": "JSON object with the Agent Id. Specify this field to update the Agent. Referencing non-existing Agent Id will cause error. Omit this field to create new Agent." + }, + "createdTime": { + "type": "integer", + "format": "int64", + "description": "Timestamp of the agent creation, in milliseconds", + "example": 1609459200000, + "readOnly": true + }, + "additionalInfo": { + "$ref": "#/components/schemas/JsonNode" + }, + "tenantId": { + "$ref": "#/components/schemas/TenantId", + "description": "JSON object with Tenant Id. Use 'assignAgentToTenant' to change the Tenant Id.", + "readOnly": true + }, + "customerId": { + "$ref": "#/components/schemas/CustomerId", + "description": "JSON object with Customer Id.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Unique Agent Name in scope of Tenant", + "example": "Silo_A_Agent" + }, + "description": { + "type": "string", + "description": "Agent description" + }, + "routingKey": { + "type": "string", + "description": "Agent routing key used for authentication", + "example": "a1b2c3d4-e5f6-7890-abcd-ef1234567890" + }, + "secret": { + "type": "string", + "description": "Agent secret used for authentication" + }, + "agentProfileId": { + "$ref": "#/components/schemas/AgentProfileId", + "description": "JSON object with Agent Profile Id. Nullable." + }, + "version": { + "type": "integer", + "format": "int64" + }, + "ownerId": { + "$ref": "#/components/schemas/EntityId", + "description": "JSON object with Customer or Tenant Id", + "readOnly": true + } + }, + "required": [ + "name", + "routingKey", + "secret" + ] + }, + "AgentAppArgument": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Argument name, referenced in the compose as ${tb.}.", + "example": "device_uuid" + }, + "sourceType": { + "$ref": "#/components/schemas/AgentAppArgumentSource", + "description": "Source entity the value is resolved from." + }, + "sourceEntityId": { + "$ref": "#/components/schemas/EntityId", + "description": "Concrete source entity id. Required when sourceType references a specific entity (DEVICE, ASSET, CUSTOMER, EDGE); ignored for the context-derived sources." + }, + "valueType": { + "$ref": "#/components/schemas/AgentAppArgumentValueType", + "description": "Whether the value is read from an attribute or the latest telemetry." + }, + "scope": { + "$ref": "#/components/schemas/AttributeScope", + "description": "Attribute scope. Applicable only when valueType is ATTRIBUTE. Defaults to SERVER_SCOPE." + }, + "key": { + "type": "string", + "description": "Attribute or latest telemetry key to read.", + "example": "cloud_endpoint" + }, + "defaultValue": { + "type": "string", + "description": "Optional fallback value used when the source has no value for the key." + }, + "format": { + "$ref": "#/components/schemas/AgentAppArgumentFormat", + "description": "How the resolved value is injected into the compose: STRING (quoted) or JSON (raw, for arrays/objects/numbers when the placeholder is the whole value). Defaults to STRING." + } + } + }, + "AgentAppArgumentFormat": { + "type": "string", + "enum": [ + "STRING", + "JSON" + ] + }, + "AgentAppArgumentSource": { + "type": "string", + "enum": [ + "AGENT", + "OWNER", + "RELATED_ENTITY", + "TENANT", + "DEVICE", + "ASSET", + "CUSTOMER", + "EDGE" + ] + }, + "AgentAppArgumentValueType": { + "type": "string", + "enum": [ + "ATTRIBUTE", + "LATEST_TELEMETRY" + ] + }, + "AgentAppConfig": { + "type": "object", + "discriminator": { + "propertyName": "type" + }, + "properties": { + "arguments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AgentAppArgument" + } + }, + "edgeRoutingKey": { + "type": "string" + }, + "type": { + "$ref": "#/components/schemas/AgentAppConfigType" + } + } + }, + "AgentAppConfigType": { + "type": "string", + "enum": [ + "DOCKER_COMPOSE" + ] + }, + "AgentAppEvent": { + "type": "object", + "properties": { + "id": { + "$ref": "#/components/schemas/AgentAppEventId", + "description": "JSON object with the Agent App Event Id." + }, + "createdTime": { + "type": "integer", + "format": "int64", + "description": "Timestamp of the event creation, in milliseconds", + "readOnly": true + }, + "tenantId": { + "$ref": "#/components/schemas/TenantId" + }, + "applicationId": { + "$ref": "#/components/schemas/AgentApplicationId" + }, + "agentId": { + "$ref": "#/components/schemas/AgentId" + }, + "applicationName": { + "type": "string" + }, + "actionType": { + "$ref": "#/components/schemas/AgentAppEventActionType" + }, + "startStatus": { + "$ref": "#/components/schemas/ProcessingStartStatus" + }, + "processingStatus": { + "$ref": "#/components/schemas/AgentProcessingStatus" + }, + "currentStepId": { + "type": "string", + "format": "uuid" + }, + "currentActivity": { + "type": "string" + }, + "errorMessage": { + "type": "string" + }, + "updatedTime": { + "type": "integer", + "format": "int64" + }, + "stepStates": { + "type": "object", + "additionalProperties": { + "oneOf": [ + { + "$ref": "#/components/schemas/BackupVolumesStepState" + }, + { + "$ref": "#/components/schemas/ComposeDownStepState" + }, + { + "$ref": "#/components/schemas/ComposeStepState" + }, + { + "$ref": "#/components/schemas/RollBackStepState" + }, + { + "$ref": "#/components/schemas/RunJobStepState" + } + ] + } + }, + "bulkActionId": { + "type": "string", + "format": "uuid" + }, + "resolvedArguments": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "winnerContainerId": { + "type": "string" + }, + "finalizeDeadlineTs": { + "type": "integer", + "format": "int64" + }, + "contextMetadata": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "AgentAppEventActionType": { + "type": "string", + "enum": [ + "INSTALL", + "UPDATE", + "DELETE", + "RESTART", + "ROLLBACK", + "UPGRADE", + "AGENT_UPGRADE" + ] + }, + "AgentAppEventId": { + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/EntityId" + }, + { + "type": "object" + } + ], + "example": { + "entityType": "AGENT_APP_EVENT", + "id": "784f394c-42b6-435a-983c-b7beff2784f9" + } + }, + "AgentAppEventInfo": { + "type": "object", + "properties": { + "id": { + "$ref": "#/components/schemas/AgentAppEventId", + "description": "JSON object with the Agent App Event Id." + }, + "createdTime": { + "type": "integer", + "format": "int64", + "description": "Timestamp of the event creation, in milliseconds", + "readOnly": true + }, + "tenantId": { + "$ref": "#/components/schemas/TenantId" + }, + "applicationId": { + "$ref": "#/components/schemas/AgentApplicationId" + }, + "agentId": { + "$ref": "#/components/schemas/AgentId" + }, + "applicationName": { + "type": "string" + }, + "actionType": { + "$ref": "#/components/schemas/AgentAppEventActionType" + }, + "startStatus": { + "$ref": "#/components/schemas/ProcessingStartStatus" + }, + "processingStatus": { + "$ref": "#/components/schemas/AgentProcessingStatus" + }, + "currentStepId": { + "type": "string", + "format": "uuid" + }, + "currentActivity": { + "type": "string" + }, + "errorMessage": { + "type": "string" + }, + "updatedTime": { + "type": "integer", + "format": "int64" + }, + "stepStates": { + "type": "object", + "additionalProperties": { + "oneOf": [ + { + "$ref": "#/components/schemas/BackupVolumesStepState" + }, + { + "$ref": "#/components/schemas/ComposeDownStepState" + }, + { + "$ref": "#/components/schemas/ComposeStepState" + }, + { + "$ref": "#/components/schemas/RollBackStepState" + }, + { + "$ref": "#/components/schemas/RunJobStepState" + } + ] + } + }, + "bulkActionId": { + "type": "string", + "format": "uuid" + }, + "resolvedArguments": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "winnerContainerId": { + "type": "string" + }, + "finalizeDeadlineTs": { + "type": "integer", + "format": "int64" + }, + "contextMetadata": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "agentName": { + "type": "string", + "description": "Name of the Agent that owns the Application.", + "readOnly": true + } + } + }, + "AgentAppEventRequest": { + "type": "object", + "description": "Request payload for creating an agent application event (install, update, upgrade, restart, delete, etc.).", + "properties": { + "actionType": { + "$ref": "#/components/schemas/AgentAppEventActionType", + "description": "Action to perform against the agent application." + }, + "application": { + "$ref": "#/components/schemas/AgentApplication", + "description": "Agent application payload supplied by the caller. Used to carry name/config changes for UPDATE and the target state for INSTALL/UPGRADE." + }, + "stepInputs": { + "type": "object", + "additionalProperties": { + "oneOf": [ + { + "$ref": "#/components/schemas/BackupVolumesStepState" + }, + { + "$ref": "#/components/schemas/ComposeDownStepState" + }, + { + "$ref": "#/components/schemas/ComposeStepState" + }, + { + "$ref": "#/components/schemas/RollBackStepState" + }, + { + "$ref": "#/components/schemas/RunJobStepState" + } + ] + }, + "description": "Per-step input overrides keyed by step id (e.g. pullImages flag, backup volume selection)." + }, + "relatedEntityId": { + "$ref": "#/components/schemas/EntityId", + "description": "INSTALL-action optional related entity (Edge or Gateway Device) to link to the application in the same operation. When set, the application is created and the relation is assigned atomically. Ignored for non-INSTALL actions." + }, + "bulkActionId": { + "type": "string", + "format": "uuid", + "description": "Optional bulk-action correlation id. When the same value is used across multiple application events, duplicates are deduplicated server-side." + }, + "skipProfileRefetch": { + "type": "boolean", + "description": "UPDATE-action flag for profile-managed apps. When true, the compose is not re-resolved from the (possibly upgraded) profile — only the credentials carried by `application.config` are applied. Ignored for non-UPDATE actions and for non-profile-managed apps." + } + } + }, + "AgentAppInstallResponse": { + "type": "object", + "description": "Response payload for the install-agent-application endpoint. Carries both the created application and the INSTALL event so the caller can open a progress dialog without a second round-trip.", + "properties": { + "application": { + "$ref": "#/components/schemas/AgentApplication", + "description": "The newly created agent application." + }, + "event": { + "$ref": "#/components/schemas/AgentAppEvent", + "description": "The INSTALL event created alongside the application." + } + } + }, + "AgentAppProfile": { + "type": "object", + "properties": { + "id": { + "$ref": "#/components/schemas/AgentAppProfileId", + "description": "JSON object with the Agent Application Profile Id." + }, + "createdTime": { + "type": "integer", + "format": "int64", + "description": "Timestamp of the profile creation, in milliseconds", + "readOnly": true + }, + "tenantId": { + "$ref": "#/components/schemas/TenantId", + "description": "JSON object with Tenant Id.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Unique profile name within tenant" + }, + "description": { + "type": "string", + "description": "Profile description" + }, + "appType": { + "$ref": "#/components/schemas/AgentApplicationType", + "description": "Application type: EDGE, GATEWAY, or GENERIC" + }, + "templateVersion": { + "type": "string", + "description": "Template version this profile is based on" + }, + "config": { + "description": "Shared config (compose definition)", + "oneOf": [ + { + "$ref": "#/components/schemas/DockerComposeConfig" + } + ] + }, + "version": { + "type": "integer", + "format": "int64" + } + }, + "required": [ + "appType", + "name", + "templateVersion" + ] + }, + "AgentAppProfileId": { + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/EntityId" + }, + { + "type": "object" + } + ], + "example": { + "entityType": "AGENT_APP_PROFILE", + "id": "784f394c-42b6-435a-983c-b7beff2784f9" + } + }, + "AgentAppProfileInfo": { + "type": "object", + "properties": { + "id": { + "$ref": "#/components/schemas/AgentAppProfileId", + "description": "JSON object with the Agent Application Profile Id." + }, + "createdTime": { + "type": "integer", + "format": "int64", + "description": "Timestamp of the profile creation, in milliseconds", + "readOnly": true + }, + "tenantId": { + "$ref": "#/components/schemas/TenantId", + "description": "JSON object with Tenant Id.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Unique profile name within tenant" + }, + "description": { + "type": "string", + "description": "Profile description" + }, + "appType": { + "$ref": "#/components/schemas/AgentApplicationType", + "description": "Application type: EDGE, GATEWAY, or GENERIC" + }, + "templateVersion": { + "type": "string", + "description": "Template version this profile is based on" + }, + "config": { + "description": "Shared config (compose definition)", + "oneOf": [ + { + "$ref": "#/components/schemas/DockerComposeConfig" + } + ] + }, + "version": { + "type": "integer", + "format": "int64" + }, + "templateCurrentVersion": { + "type": "string", + "description": "Current version of the template this profile points to.", + "readOnly": true + } + }, + "required": [ + "appType", + "name", + "templateVersion" + ] + }, + "AgentAppProfileRelationInfo": { + "type": "object", + "properties": { + "id": { + "$ref": "#/components/schemas/AgentAppProfileId", + "description": "JSON object with the Agent Application Profile Id." + }, + "createdTime": { + "type": "integer", + "format": "int64", + "description": "Timestamp of the profile creation, in milliseconds", + "readOnly": true + }, + "tenantId": { + "$ref": "#/components/schemas/TenantId", + "description": "JSON object with Tenant Id.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Unique profile name within tenant" + }, + "description": { + "type": "string", + "description": "Profile description" + }, + "appType": { + "$ref": "#/components/schemas/AgentApplicationType", + "description": "Application type: EDGE, GATEWAY, or GENERIC" + }, + "templateVersion": { + "type": "string", + "description": "Template version this profile is based on" + }, + "config": { + "description": "Shared config (compose definition)", + "oneOf": [ + { + "$ref": "#/components/schemas/DockerComposeConfig" + } + ] + }, + "version": { + "type": "integer", + "format": "int64" + }, + "templateCurrentVersion": { + "type": "string", + "description": "Current version of the template this profile points to.", + "readOnly": true + }, + "agentProfileId": { + "$ref": "#/components/schemas/AgentProfileId", + "description": "JSON object with the Agent Profile Id this app profile is assigned to.", + "readOnly": true + }, + "assignedApplicationsCount": { + "type": "integer", + "format": "int64", + "description": "Number of AgentApplications using this app profile within the agent profile.", + "readOnly": true + }, + "additionalInfo": { + "$ref": "#/components/schemas/JsonNode", + "description": "Additional info of the assignment relation between the agent profile and this app profile.", + "readOnly": true + } + }, + "required": [ + "appType", + "name", + "templateVersion" + ] + }, + "AgentAppStep": { + "type": "object", + "discriminator": { + "propertyName": "type" + }, + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "nextId": { + "type": "string", + "format": "uuid" + }, + "title": { + "type": "string" + }, + "templateOnly": { + "type": "boolean" + }, + "condition": { + "type": "string" + }, + "stateful": { + "type": "boolean" + }, + "type": { + "$ref": "#/components/schemas/AgentAppStepType" } + } + }, + "AgentAppStepState": { + "type": "object", + "discriminator": { + "propertyName": "type" }, - "security": [ - { - "HttpLoginForm": [] - }, - { - "ApiKeyForm": [] + "properties": { + "type": { + "$ref": "#/components/schemas/AgentAppStepType" } - ] - } - }, - "/api/widgetsBundles/all": { - "get": { - "tags": [ - "widgets-bundle-controller" - ], - "summary": "Get all Widget Bundles (getAllWidgetsBundles)", - "description": "Returns an array of Widget Bundle objects that are available for current user.Widget Bundle represents a group(bundle) of widgets. Widgets are grouped into bundle by type or use case. \n\nAvailable for any authorized user. ", - "operationId": "getAllWidgetsBundles", - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/WidgetsBundle" - } - } - } - } + } + }, + "AgentAppStepType": { + "type": "string", + "enum": [ + "COMPOSE_TEMPLATE", + "COMPOSE", + "COMPOSE_START", + "COMPOSE_DOWN", + "ROLLBACK", + "BACKUP_VOLUME", + "BACKUP_VOLUME_REMOVE", + "COMPOSE_RESTART", + "RUN_JOB", + "AGENT_PREPARE", + "AGENT_FINALIZE" + ] + }, + "AgentAppTemplate": { + "type": "object", + "properties": { + "tenantId": { + "$ref": "#/components/schemas/TenantId", + "description": "JSON object with Tenant Id.", + "readOnly": true }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ThingsboardErrorResponse" + "appType": { + "$ref": "#/components/schemas/AgentApplicationType", + "description": "Application type" + }, + "configType": { + "$ref": "#/components/schemas/AgentAppConfigType", + "description": "Config type (e.g. 'DOCKER_COMPOSE'); the compose body lives in the template's compose-template step, not here" + }, + "currentVersion": { + "type": "string", + "description": "Current template version" + }, + "nextVersion": { + "type": "string", + "description": "Next template version" + }, + "startSteps": { + "type": "array", + "description": "Start steps", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/AgentFinalizeStep" }, - "examples": { - "error-code-400": { - "summary": "Bad Request", - "value": { - "status": 400, - "message": "Invalid UUID string: 123", - "errorCode": 31, - "timestamp": 1609459200000 - } - } + { + "$ref": "#/components/schemas/AgentPrepareStep" + }, + { + "$ref": "#/components/schemas/BackupVolumesRemoveStep" + }, + { + "$ref": "#/components/schemas/BackupVolumesStep" + }, + { + "$ref": "#/components/schemas/ComposeDownStep" + }, + { + "$ref": "#/components/schemas/ComposeRestartStep" + }, + { + "$ref": "#/components/schemas/ComposeStartStep" + }, + { + "$ref": "#/components/schemas/ComposeStep" + }, + { + "$ref": "#/components/schemas/ComposeTypeChoiceStep" + }, + { + "$ref": "#/components/schemas/RollBackStep" + }, + { + "$ref": "#/components/schemas/RunJobStep" } - } + ] } }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ThingsboardErrorResponse" + "upgradeSteps": { + "type": "array", + "description": "Upgrade steps", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/AgentFinalizeStep" }, - "examples": { - "error-code-401": { - "summary": "Unauthorized", - "value": { - "status": 401, - "message": "Authentication failed", - "errorCode": 10, - "timestamp": 1609459200000 - } - } + { + "$ref": "#/components/schemas/AgentPrepareStep" + }, + { + "$ref": "#/components/schemas/BackupVolumesRemoveStep" + }, + { + "$ref": "#/components/schemas/BackupVolumesStep" + }, + { + "$ref": "#/components/schemas/ComposeDownStep" + }, + { + "$ref": "#/components/schemas/ComposeRestartStep" + }, + { + "$ref": "#/components/schemas/ComposeStartStep" + }, + { + "$ref": "#/components/schemas/ComposeStep" + }, + { + "$ref": "#/components/schemas/ComposeTypeChoiceStep" + }, + { + "$ref": "#/components/schemas/RollBackStep" + }, + { + "$ref": "#/components/schemas/RunJobStep" } - } + ] } }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ThingsboardErrorResponse" + "deleteSteps": { + "type": "array", + "description": "Delete steps", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/AgentFinalizeStep" }, - "examples": { - "error-code-403": { - "summary": "Forbidden", - "value": { - "status": 403, - "message": "You don't have permission to perform this operation!", - "errorCode": 20, - "timestamp": 1609459200000 - } - } + { + "$ref": "#/components/schemas/AgentPrepareStep" + }, + { + "$ref": "#/components/schemas/BackupVolumesRemoveStep" + }, + { + "$ref": "#/components/schemas/BackupVolumesStep" + }, + { + "$ref": "#/components/schemas/ComposeDownStep" + }, + { + "$ref": "#/components/schemas/ComposeRestartStep" + }, + { + "$ref": "#/components/schemas/ComposeStartStep" + }, + { + "$ref": "#/components/schemas/ComposeStep" + }, + { + "$ref": "#/components/schemas/ComposeTypeChoiceStep" + }, + { + "$ref": "#/components/schemas/RollBackStep" + }, + { + "$ref": "#/components/schemas/RunJobStep" } - } + ] } }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ThingsboardErrorResponse" + "rollbackSteps": { + "type": "array", + "description": "Rollback steps", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/AgentFinalizeStep" }, - "examples": { - "error-code-404": { - "summary": "Not Found", - "value": { - "status": 404, - "message": "Requested item wasn't found!", - "errorCode": 32, - "timestamp": 1609459200000 - } - } + { + "$ref": "#/components/schemas/AgentPrepareStep" + }, + { + "$ref": "#/components/schemas/BackupVolumesRemoveStep" + }, + { + "$ref": "#/components/schemas/BackupVolumesStep" + }, + { + "$ref": "#/components/schemas/ComposeDownStep" + }, + { + "$ref": "#/components/schemas/ComposeRestartStep" + }, + { + "$ref": "#/components/schemas/ComposeStartStep" + }, + { + "$ref": "#/components/schemas/ComposeStep" + }, + { + "$ref": "#/components/schemas/ComposeTypeChoiceStep" + }, + { + "$ref": "#/components/schemas/RollBackStep" + }, + { + "$ref": "#/components/schemas/RunJobStep" } - } + ] } }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ThingsboardErrorResponse" + "restartSteps": { + "type": "array", + "description": "Restart steps", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/AgentFinalizeStep" }, - "examples": { - "error-code-429": { - "summary": "Too Many Requests", - "value": { - "status": 429, - "message": "Too many requests for current tenant!", - "errorCode": 33, - "timestamp": 1609459200000 - } - } + { + "$ref": "#/components/schemas/AgentPrepareStep" + }, + { + "$ref": "#/components/schemas/BackupVolumesRemoveStep" + }, + { + "$ref": "#/components/schemas/BackupVolumesStep" + }, + { + "$ref": "#/components/schemas/ComposeDownStep" + }, + { + "$ref": "#/components/schemas/ComposeRestartStep" + }, + { + "$ref": "#/components/schemas/ComposeStartStep" + }, + { + "$ref": "#/components/schemas/ComposeStep" + }, + { + "$ref": "#/components/schemas/ComposeTypeChoiceStep" + }, + { + "$ref": "#/components/schemas/RollBackStep" + }, + { + "$ref": "#/components/schemas/RunJobStep" } - } + ] } } }, - "security": [ - { - "HttpLoginForm": [] + "required": [ + "appType", + "currentVersion" + ] + }, + "AgentAppUnit": { + "type": "object", + "properties": { + "id": { + "$ref": "#/components/schemas/AgentAppUnitId", + "description": "JSON object with the Agent App Unit Id." }, - { - "ApiKeyForm": [] + "createdTime": { + "type": "integer", + "format": "int64", + "description": "Timestamp of the agent app unit creation, in milliseconds", + "readOnly": true + }, + "tenantId": { + "$ref": "#/components/schemas/TenantId", + "description": "Tenant this unit belongs to" + }, + "agentApplicationId": { + "$ref": "#/components/schemas/AgentApplicationId", + "description": "Agent application this unit belongs to" + }, + "identifier": { + "type": "string", + "description": "Unit identifier" + }, + "type": { + "$ref": "#/components/schemas/AgentAppUnitType", + "description": "Unit type" } + }, + "required": [ + "agentApplicationId", + "identifier", + "tenantId", + "type" ] - } - }, - "/api/widgetsBundles/list": { - "get": { - "tags": [ - "widgets-bundle-controller" - ], - "summary": "Get Widgets Bundles By Ids (getWidgetsBundlesList)", - "description": "Requested widgets bundles must be system level or owned by tenant of the user which is performing the request. \n\n Security check is performed to verify that the user has 'READ' permission for the entity (entities).", - "operationId": "getWidgetsBundlesList", - "parameters": [ + }, + "AgentAppUnitId": { + "type": "object", + "allOf": [ { - "name": "widgetsBundleIds", - "in": "query", - "description": "A list of widgets bundle ids, separated by comma ','", - "required": true, - "schema": { - "type": "array", - "items": { - "type": "string" - } - } + "$ref": "#/components/schemas/EntityId" + }, + { + "type": "object" } ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/WidgetsBundle" - } - } - } - } + "example": { + "entityType": "AGENT_APP_UNIT", + "id": "784f394c-42b6-435a-983c-b7beff2784f9" + } + }, + "AgentAppUnitType": { + "type": "string", + "enum": [ + "CONTAINER", + "VOLUME", + "NETWORK" + ] + }, + "AgentApplication": { + "type": "object", + "properties": { + "id": { + "$ref": "#/components/schemas/AgentApplicationId", + "description": "JSON object with the Agent Application Id." }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ThingsboardErrorResponse" - }, - "examples": { - "error-code-400": { - "summary": "Bad Request", - "value": { - "status": 400, - "message": "Invalid UUID string: 123", - "errorCode": 31, - "timestamp": 1609459200000 - } - } - } - } - } + "createdTime": { + "type": "integer", + "format": "int64", + "description": "Timestamp of the agent application creation, in milliseconds", + "readOnly": true }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ThingsboardErrorResponse" - }, - "examples": { - "error-code-401": { - "summary": "Unauthorized", - "value": { - "status": 401, - "message": "Authentication failed", - "errorCode": 10, - "timestamp": 1609459200000 - } - } - } - } - } + "tenantId": { + "$ref": "#/components/schemas/TenantId", + "description": "JSON object with Tenant Id.", + "readOnly": true }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ThingsboardErrorResponse" - }, - "examples": { - "error-code-403": { - "summary": "Forbidden", - "value": { - "status": 403, - "message": "You don't have permission to perform this operation!", - "errorCode": 20, - "timestamp": 1609459200000 - } - } - } - } - } + "agentId": { + "$ref": "#/components/schemas/AgentId", + "description": "Agent this application belongs to" }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ThingsboardErrorResponse" - }, - "examples": { - "error-code-404": { - "summary": "Not Found", - "value": { - "status": 404, - "message": "Requested item wasn't found!", - "errorCode": 32, - "timestamp": 1609459200000 - } - } - } - } - } + "name": { + "type": "string", + "description": "Application name (not unique across tenant)" }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ThingsboardErrorResponse" - }, - "examples": { - "error-code-429": { - "summary": "Too Many Requests", - "value": { - "status": 429, - "message": "Too many requests for current tenant!", - "errorCode": 33, - "timestamp": 1609459200000 - } - } - } + "templateVersion": { + "type": "string", + "description": "Template version this application is based on" + }, + "desiredTemplateVersion": { + "type": "string" + }, + "appType": { + "$ref": "#/components/schemas/AgentApplicationType", + "description": "Application type" + }, + "config": { + "description": "Config (with compose field and type = 'DOCKER_COMPOSE' for EDGE/GATEWAY)", + "oneOf": [ + { + "$ref": "#/components/schemas/DockerComposeConfig" } - } + ] + }, + "version": { + "type": "integer", + "format": "int64" + }, + "projectName": { + "type": "string" + }, + "pendingDeletion": { + "type": "boolean" + }, + "origin": { + "$ref": "#/components/schemas/AgentApplicationOrigin", + "description": "Origin of the application (INSTALLED or DISCOVERED)" + }, + "applicationProfileId": { + "$ref": "#/components/schemas/AgentAppProfileId", + "description": "Application Profile Id. When set, config is read-only and inherited from the profile." + }, + "profileConfigVersion": { + "type": "integer", + "format": "int64" } }, - "security": [ + "required": [ + "agentId", + "appType", + "templateVersion" + ] + }, + "AgentApplicationId": { + "type": "object", + "allOf": [ { - "HttpLoginForm": [] + "$ref": "#/components/schemas/EntityId" }, { - "ApiKeyForm": [] + "type": "object" } - ] - } - } - }, - "components": { - "schemas": { - "AccountTwoFaSettings": { + ], + "example": { + "entityType": "AGENT_APPLICATION", + "id": "784f394c-42b6-435a-983c-b7beff2784f9" + } + }, + "AgentApplicationInfo": { "type": "object", - "description": "Account Two-Factor Authentication Settings", "properties": { - "configs": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/TwoFaAccountConfig" - } + "id": { + "$ref": "#/components/schemas/AgentApplicationId", + "description": "JSON object with the Agent Application Id." + }, + "createdTime": { + "type": "integer", + "format": "int64", + "description": "Timestamp of the agent application creation, in milliseconds", + "readOnly": true + }, + "tenantId": { + "$ref": "#/components/schemas/TenantId", + "description": "JSON object with Tenant Id.", + "readOnly": true + }, + "agentId": { + "$ref": "#/components/schemas/AgentId", + "description": "Agent this application belongs to" + }, + "name": { + "type": "string", + "description": "Application name (not unique across tenant)" + }, + "templateVersion": { + "type": "string", + "description": "Template version this application is based on" + }, + "desiredTemplateVersion": { + "type": "string" + }, + "appType": { + "$ref": "#/components/schemas/AgentApplicationType", + "description": "Application type" + }, + "config": { + "description": "Config (with compose field and type = 'DOCKER_COMPOSE' for EDGE/GATEWAY)", + "oneOf": [ + { + "$ref": "#/components/schemas/DockerComposeConfig" + } + ] + }, + "version": { + "type": "integer", + "format": "int64" + }, + "projectName": { + "type": "string" + }, + "pendingDeletion": { + "type": "boolean" + }, + "origin": { + "$ref": "#/components/schemas/AgentApplicationOrigin", + "description": "Origin of the application (INSTALLED or DISCOVERED)" + }, + "applicationProfileId": { + "$ref": "#/components/schemas/AgentAppProfileId", + "description": "Application Profile Id. When set, config is read-only and inherited from the profile." + }, + "profileConfigVersion": { + "type": "integer", + "format": "int64" + }, + "currentVersion": { + "type": "string", + "description": "Current version of the template this application is based on.", + "readOnly": true + }, + "nextVersion": { + "type": "string", + "description": "Next version available for upgrade.", + "readOnly": true + }, + "profileConfigOutdated": { + "type": "boolean", + "description": "True if the app's config is outdated relative to its profile.", + "readOnly": true + }, + "profileName": { + "type": "string", + "description": "Name of the application profile this app is based on.", + "readOnly": true + }, + "profileTemplateVersion": { + "type": "string", + "description": "Template version of the application profile this app is based on.", + "readOnly": true + }, + "agentName": { + "type": "string", + "description": "Name of the owning agent.", + "readOnly": true + }, + "relatedEntityId": { + "$ref": "#/components/schemas/EntityId", + "description": "Related entity id (Edge or Gateway device) currently assigned to this application.", + "readOnly": true } - } + }, + "required": [ + "agentId", + "appType", + "templateVersion" + ] }, - "Action": { + "AgentApplicationOrigin": { "type": "string", "enum": [ - "ASSIGNED", - "UNASSIGNED" + "INSTALLED", + "DISCOVERED", + "AUTO_PROVISIONED" ] }, - "ActionStatus": { + "AgentApplicationType": { "type": "string", "enum": [ - "SUCCESS", - "FAILURE" + "GENERIC", + "EDGE", + "GATEWAY" ] }, - "ActionType": { + "AgentBulkAction": { + "type": "object", + "properties": { + "id": { + "$ref": "#/components/schemas/AgentBulkActionId", + "description": "JSON object with the Agent Bulk Action Id." + }, + "createdTime": { + "type": "integer", + "format": "int64", + "description": "Timestamp of the bulk action creation, in milliseconds", + "readOnly": true + }, + "tenantId": { + "$ref": "#/components/schemas/TenantId" + }, + "agentProfileId": { + "type": "string", + "format": "uuid" + }, + "applicationProfileId": { + "type": "string", + "format": "uuid" + }, + "actionType": { + "$ref": "#/components/schemas/AgentAppEventActionType" + }, + "status": { + "$ref": "#/components/schemas/AgentBulkActionStatus" + }, + "errorMsg": { + "type": "string" + }, + "processingStartedTime": { + "type": "integer", + "format": "int64" + }, + "total": { + "type": "integer", + "format": "int32" + }, + "submitted": { + "type": "integer", + "format": "int32" + }, + "skipCounts": { + "type": "object", + "additionalProperties": { + "type": "integer", + "format": "int32" + } + } + } + }, + "AgentBulkActionEventStats": { + "type": "object", + "properties": { + "countsByStatus": { + "type": "object", + "additionalProperties": { + "type": "integer", + "format": "int64" + }, + "description": "Number of events produced by the bulk action per processing status" + }, + "total": { + "type": "integer", + "format": "int64", + "description": "Total number of events produced by the bulk action" + } + } + }, + "AgentBulkActionId": { + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/EntityId" + }, + { + "type": "object" + } + ], + "example": { + "entityType": "AGENT_BULK_ACTION", + "id": "784f394c-42b6-435a-983c-b7beff2784f9" + } + }, + "AgentBulkActionStatus": { "type": "string", "enum": [ - "ADDED", - "DELETED", - "UPDATED", - "ATTRIBUTES_UPDATED", - "ATTRIBUTES_DELETED", - "TIMESERIES_UPDATED", - "TIMESERIES_DELETED", - "RPC_CALL", - "CREDENTIALS_UPDATED", - "ASSIGNED_TO_CUSTOMER", - "UNASSIGNED_FROM_CUSTOMER", - "CHANGE_OWNER", - "ACTIVATED", - "SUSPENDED", - "CREDENTIALS_READ", - "ATTRIBUTES_READ", - "RELATION_ADD_OR_UPDATE", - "RELATION_DELETED", - "RELATIONS_DELETED", - "ALARM_ACK", - "ALARM_CLEAR", - "ALARM_DELETE", - "ALARM_ASSIGNED", - "ALARM_UNASSIGNED", - "ADDED_TO_ENTITY_GROUP", - "REMOVED_FROM_ENTITY_GROUP", - "REST_API_RULE_ENGINE_CALL", - "MADE_PUBLIC", - "MADE_PRIVATE", - "LOGIN", - "LOGOUT", - "LOCKOUT", - "ASSIGNED_FROM_TENANT", - "ASSIGNED_TO_TENANT", - "PROVISION_SUCCESS", - "PROVISION_FAILURE", - "ASSIGNED_TO_EDGE", - "UNASSIGNED_FROM_EDGE", - "ADDED_COMMENT", - "UPDATED_COMMENT", - "DELETED_COMMENT", - "SMS_SENT" + "QUEUED", + "IN_PROGRESS", + "STARTED", + "START_FAILED" ] }, - "ActivateUserRequest": { + "AgentFinalizeStep": { + "allOf": [ + { + "$ref": "#/components/schemas/AgentAppStep" + } + ] + }, + "AgentId": { + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/EntityId" + }, + { + "type": "object" + } + ], + "example": { + "entityType": "AGENT", + "id": "784f394c-42b6-435a-983c-b7beff2784f9" + } + }, + "AgentInfo": { "type": "object", - "description": "Activate user request.", "properties": { - "activateToken": { + "id": { + "$ref": "#/components/schemas/AgentId", + "description": "JSON object with the Agent Id. Specify this field to update the Agent. Referencing non-existing Agent Id will cause error. Omit this field to create new Agent." + }, + "createdTime": { + "type": "integer", + "format": "int64", + "description": "Timestamp of the agent creation, in milliseconds", + "example": 1609459200000, + "readOnly": true + }, + "additionalInfo": { + "$ref": "#/components/schemas/JsonNode" + }, + "tenantId": { + "$ref": "#/components/schemas/TenantId", + "description": "JSON object with Tenant Id. Use 'assignAgentToTenant' to change the Tenant Id.", + "readOnly": true + }, + "customerId": { + "$ref": "#/components/schemas/CustomerId", + "description": "JSON object with Customer Id.", + "readOnly": true + }, + "name": { "type": "string", - "description": "The activate token to verify", - "example": "AAB254FF67D.." + "description": "Unique Agent Name in scope of Tenant", + "example": "Silo_A_Agent" }, - "password": { + "description": { "type": "string", - "description": "The new password to set", - "example": "secret" + "description": "Agent description" + }, + "routingKey": { + "type": "string", + "description": "Agent routing key used for authentication", + "example": "a1b2c3d4-e5f6-7890-abcd-ef1234567890" + }, + "secret": { + "type": "string", + "description": "Agent secret used for authentication" + }, + "agentProfileId": { + "$ref": "#/components/schemas/AgentProfileId", + "description": "JSON object with Agent Profile Id. Nullable." + }, + "version": { + "type": "integer", + "format": "int64" + }, + "customerTitle": { + "type": "string", + "description": "Title of the Customer that owns the agent.", + "readOnly": true + }, + "customerIsPublic": { + "type": "boolean", + "description": "Indicates special 'Public' Customer that is auto-generated to use the agents on public dashboards.", + "readOnly": true + }, + "agentProfileName": { + "type": "string", + "description": "Name of the Agent Profile the agent belongs to.", + "readOnly": true + }, + "ownerName": { + "type": "string", + "description": "Owner name — tenant title if the agent is owned by a tenant, or customer title otherwise.", + "readOnly": true + }, + "groups": { + "type": "array", + "description": "Entity groups that contain this agent (excluding the implicit 'All' group).", + "items": { + "$ref": "#/components/schemas/EntityInfo" + }, + "readOnly": true + }, + "active": { + "type": "boolean", + "description": "Whether the agent currently has an active connection (derived from server-scope 'active' attribute).", + "readOnly": true + }, + "agentVersion": { + "type": "string", + "description": "Agent software version reported on the last connect (derived from server-scope 'agentVersion' attribute).", + "readOnly": true + }, + "upgradeTargetImageRef": { + "type": "string", + "description": "Image reference this agent should be upgraded to, or null when no upgrade applies. Resolved from the published version graph.", + "readOnly": true + }, + "ownerId": { + "$ref": "#/components/schemas/EntityId", + "description": "JSON object with Customer or Tenant Id", + "readOnly": true + } + }, + "required": [ + "name", + "routingKey", + "secret" + ] + }, + "AgentInstructions": { + "type": "object", + "properties": { + "instructions": { + "type": "string", + "description": "Resolved install/provision instructions for the selected method" } } }, - "AdminSettings": { + "AgentPrepareStep": { + "allOf": [ + { + "$ref": "#/components/schemas/AgentAppStep" + } + ] + }, + "AgentProcessingStatus": { + "type": "string", + "enum": [ + "PENDING", + "QUEUED", + "PROCESSING", + "FINISHED", + "ERROR", + "START_FAILED" + ] + }, + "AgentProfile": { "type": "object", - "description": "A JSON value representing the Mail Settings.", "properties": { "id": { - "$ref": "#/components/schemas/AdminSettingsId", - "description": "The Id of the Administration Settings, auto-generated, UUID" + "$ref": "#/components/schemas/AgentProfileId", + "description": "JSON object with the Agent Profile Id." }, "createdTime": { "type": "integer", "format": "int64", - "description": "Timestamp of the settings creation, in milliseconds", - "example": 1609459200000, + "description": "Timestamp of the profile creation, in milliseconds", "readOnly": true }, "tenantId": { @@ -118131,18 +130745,40 @@ "description": "JSON object with Tenant Id.", "readOnly": true }, - "key": { + "name": { "type": "string", - "description": "The Administration Settings key, (e.g. 'general' or 'mail')", - "example": "mail" + "description": "Unique profile name within tenant" }, - "jsonValue": { - "$ref": "#/components/schemas/JsonNode", - "description": "JSON representation of the Administration Settings value" + "description": { + "type": "string", + "description": "Profile description" + }, + "provisionKey": { + "type": "string", + "description": "Provision key for future auto-provisioning" + }, + "provisionSecret": { + "type": "string", + "description": "Provision secret for future auto-provisioning" + }, + "provisionType": { + "$ref": "#/components/schemas/AgentProvisionType", + "description": "Provisioning strategy. DISABLED by default." + }, + "version": { + "type": "integer", + "format": "int64" + }, + "default": { + "type": "boolean", + "description": "Used to mark the default profile that will be assigned to agents when no profile is specified." } - } + }, + "required": [ + "name" + ] }, - "AdminSettingsId": { + "AgentProfileId": { "type": "object", "allOf": [ { @@ -118153,29 +130789,81 @@ } ], "example": { - "entityType": "ADMIN_SETTINGS", + "entityType": "AGENT_PROFILE", "id": "784f394c-42b6-435a-983c-b7beff2784f9" } }, - "AffectedTenantAdministratorsFilter": { - "allOf": [ - { - "$ref": "#/components/schemas/UsersFilter" + "AgentProfileInfo": { + "type": "object", + "properties": { + "id": { + "$ref": "#/components/schemas/AgentProfileId", + "description": "JSON object with the Agent Profile Id." + }, + "createdTime": { + "type": "integer", + "format": "int64", + "description": "Timestamp of the profile creation, in milliseconds", + "readOnly": true + }, + "tenantId": { + "$ref": "#/components/schemas/TenantId", + "description": "JSON object with Tenant Id.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Unique profile name within tenant" + }, + "description": { + "type": "string", + "description": "Profile description" + }, + "provisionKey": { + "type": "string", + "description": "Provision key for future auto-provisioning" + }, + "provisionSecret": { + "type": "string", + "description": "Provision secret for future auto-provisioning" + }, + "provisionType": { + "$ref": "#/components/schemas/AgentProvisionType", + "description": "Provisioning strategy. DISABLED by default." + }, + "version": { + "type": "integer", + "format": "int64" + }, + "default": { + "type": "boolean", + "description": "Used to mark the default profile that will be assigned to agents when no profile is specified." } - ], - "example": { - "type": "AFFECTED_TENANT_ADMINISTRATORS" - } + }, + "required": [ + "name" + ] }, - "AffectedUserFilter": { - "allOf": [ - { - "$ref": "#/components/schemas/UsersFilter" + "AgentProvisionType": { + "type": "string", + "enum": [ + "DISABLED", + "NO_AUTO_INSTALL", + "AUTO_INSTALL_PER_APP_TYPE", + "AUTO_INSTALL_PER_APP_PROFILE" + ] + }, + "AgentUpgradeRequest": { + "type": "object", + "properties": { + "imageRef": { + "type": "string", + "description": "Target agent image reference — a digest-pinned reference in production, or a tag." } - ], - "example": { - "type": "AFFECTED_USER" - } + }, + "required": [ + "imageRef" + ] }, "AggFunction": { "type": "string", @@ -121785,6 +134473,43 @@ "codesQuantity": null } }, + "BackupVolumesRemoveStep": { + "allOf": [ + { + "$ref": "#/components/schemas/AgentAppStep" + } + ] + }, + "BackupVolumesStep": { + "allOf": [ + { + "$ref": "#/components/schemas/AgentAppStep" + }, + { + "type": "object", + "properties": { + "state": { + "$ref": "#/components/schemas/BackupVolumesStepState" + } + } + } + ] + }, + "BackupVolumesStepState": { + "allOf": [ + { + "$ref": "#/components/schemas/AgentAppStepState" + }, + { + "type": "object", + "properties": { + "backupVolumes": { + "$ref": "#/components/schemas/StepFieldListString" + } + } + } + ] + }, "BadgePosition": { "type": "string", "enum": [ @@ -122227,6 +134952,66 @@ } } }, + "BulkOperationPreview": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int32", + "description": "Total number of apps targeted by the bulk operation" + }, + "eligible": { + "type": "integer", + "format": "int32", + "description": "Number of apps that would be submitted (total minus skipped)" + }, + "skippedCountsByReason": { + "type": "object", + "additionalProperties": { + "type": "integer", + "format": "int32" + }, + "description": "Skip count per reason for the targeted apps" + }, + "skippedSample": { + "type": "array", + "description": "Sample of skipped apps, capped per reason. Use the run history to inspect the full list.", + "items": { + "$ref": "#/components/schemas/SkippedApp" + } + } + } + }, + "BulkOperationRequest": { + "type": "object", + "properties": { + "actionType": { + "$ref": "#/components/schemas/AgentAppEventActionType" + }, + "stepInputs": { + "type": "object", + "additionalProperties": { + "oneOf": [ + { + "$ref": "#/components/schemas/BackupVolumesStepState" + }, + { + "$ref": "#/components/schemas/ComposeDownStepState" + }, + { + "$ref": "#/components/schemas/ComposeStepState" + }, + { + "$ref": "#/components/schemas/RollBackStepState" + }, + { + "$ref": "#/components/schemas/RunJobStepState" + } + ] + } + } + } + }, "Button": { "type": "object", "properties": { @@ -122836,13 +135621,6 @@ "none" ] }, - "ChatType": { - "type": "string", - "enum": [ - "GENERIC", - "SOLUTION_BUILDER" - ] - }, "CheckPreProvisionedDevicesDeviceProfileProvisionConfiguration": { "allOf": [ { @@ -123293,6 +136071,104 @@ "FLOW" ] }, + "ComposeDownStep": { + "allOf": [ + { + "$ref": "#/components/schemas/AgentAppStep" + }, + { + "type": "object", + "properties": { + "state": { + "$ref": "#/components/schemas/ComposeDownStepState" + } + } + } + ] + }, + "ComposeDownStepState": { + "allOf": [ + { + "$ref": "#/components/schemas/AgentAppStepState" + }, + { + "type": "object", + "properties": { + "serviceImageRegexPatterns": { + "$ref": "#/components/schemas/StepFieldListString" + }, + "removeVolumes": { + "$ref": "#/components/schemas/StepFieldBoolean" + } + } + } + ] + }, + "ComposeRestartStep": { + "allOf": [ + { + "$ref": "#/components/schemas/AgentAppStep" + } + ] + }, + "ComposeStartStep": { + "allOf": [ + { + "$ref": "#/components/schemas/AgentAppStep" + } + ] + }, + "ComposeStep": { + "allOf": [ + { + "$ref": "#/components/schemas/AgentAppStep" + }, + { + "type": "object", + "properties": { + "state": { + "$ref": "#/components/schemas/ComposeStepState" + } + } + } + ] + }, + "ComposeStepState": { + "allOf": [ + { + "$ref": "#/components/schemas/AgentAppStepState" + }, + { + "type": "object", + "properties": { + "serviceImageRegexPatterns": { + "$ref": "#/components/schemas/StepFieldListString" + }, + "pullImages": { + "$ref": "#/components/schemas/StepFieldBoolean" + } + } + } + ] + }, + "ComposeTypeChoiceStep": { + "allOf": [ + { + "$ref": "#/components/schemas/AgentAppStep" + }, + { + "type": "object", + "properties": { + "composeTemplates": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/JsonNode" + } + } + } + } + ] + }, "ContactBasedObject": { "type": "object", "properties": { @@ -125301,6 +138177,18 @@ "edgeUplinkMessagesRateLimitsPerEdge": { "type": "string" }, + "agentEventRateLimits": { + "type": "string" + }, + "agentEventRateLimitsPerAgent": { + "type": "string" + }, + "agentLogChunkRateLimits": { + "type": "string" + }, + "agentLogChunkRateLimitsPerAgent": { + "type": "string" + }, "defaultStorageTtlDays": { "type": "integer", "format": "int32" @@ -125473,6 +138361,10 @@ "edgeEventRateLimitsPerEdge": null, "edgeUplinkMessagesRateLimits": null, "edgeUplinkMessagesRateLimitsPerEdge": null, + "agentEventRateLimits": null, + "agentEventRateLimitsPerAgent": null, + "agentLogChunkRateLimits": null, + "agentLogChunkRateLimitsPerAgent": null, "defaultStorageTtlDays": null, "alarmsTtlDays": null, "rpcTtlDays": null, @@ -126470,6 +139362,24 @@ "color": null } }, + "DockerComposeConfig": { + "allOf": [ + { + "$ref": "#/components/schemas/AgentAppConfig" + }, + { + "type": "object", + "properties": { + "compose": { + "$ref": "#/components/schemas/JsonNode" + }, + "composeType": { + "type": "string" + } + } + } + ] + }, "Domain": { "type": "object", "description": "A JSON value representing the Domain.", @@ -128178,7 +141088,8 @@ "USER", "ENTITY_VIEW", "DASHBOARD", - "EDGE" + "EDGE", + "AGENT" ] }, "name": { @@ -128358,7 +141269,8 @@ "USER", "ENTITY_VIEW", "DASHBOARD", - "EDGE" + "EDGE", + "AGENT" ] }, "name": { @@ -128469,6 +141381,13 @@ "propertyName": "entityType", "mapping": { "ADMIN_SETTINGS": "#/components/schemas/AdminSettingsId", + "AGENT": "#/components/schemas/AgentId", + "AGENT_APPLICATION": "#/components/schemas/AgentApplicationId", + "AGENT_APP_EVENT": "#/components/schemas/AgentAppEventId", + "AGENT_APP_PROFILE": "#/components/schemas/AgentAppProfileId", + "AGENT_APP_UNIT": "#/components/schemas/AgentAppUnitId", + "AGENT_BULK_ACTION": "#/components/schemas/AgentBulkActionId", + "AGENT_PROFILE": "#/components/schemas/AgentProfileId", "AI_MODEL": "#/components/schemas/AiModelId", "ALARM": "#/components/schemas/AlarmId", "API_KEY": "#/components/schemas/ApiKeyId", @@ -128915,7 +141834,14 @@ "SECRET", "ADMIN_SETTINGS", "AI_MODEL", - "API_KEY" + "API_KEY", + "AGENT", + "AGENT_APPLICATION", + "AGENT_APP_EVENT", + "AGENT_APP_UNIT", + "AGENT_APP_PROFILE", + "AGENT_PROFILE", + "AGENT_BULK_ACTION" ] }, "EntityTypeFilter": { @@ -131846,6 +144772,10 @@ "EDGE_EVENTS_PER_EDGE", "EDGE_UPLINK_MESSAGES", "EDGE_UPLINK_MESSAGES_PER_EDGE", + "AGENT_EVENTS", + "AGENT_EVENTS_PER_AGENT", + "AGENT_LOG_CHUNKS", + "AGENT_LOG_CHUNKS_PER_AGENT", "INTEGRATION_MSGS_PER_TENANT", "INTEGRATION_MSGS_PER_DEVICE", "INTEGRATION_MSGS_PER_ASSET", @@ -135557,6 +148487,306 @@ "type": "PAGE_BREAK" } }, + "PageDataAgent": { + "type": "object", + "properties": { + "data": { + "type": "array", + "description": "Array of the entities", + "items": { + "$ref": "#/components/schemas/Agent" + }, + "readOnly": true + }, + "totalPages": { + "type": "integer", + "format": "int32", + "description": "Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria", + "readOnly": true + }, + "totalElements": { + "type": "integer", + "format": "int64", + "description": "Total number of elements in all available pages", + "readOnly": true + }, + "hasNext": { + "type": "boolean", + "description": "'false' value indicates the end of the result set", + "readOnly": true + } + } + }, + "PageDataAgentAppEvent": { + "type": "object", + "properties": { + "data": { + "type": "array", + "description": "Array of the entities", + "items": { + "$ref": "#/components/schemas/AgentAppEvent" + }, + "readOnly": true + }, + "totalPages": { + "type": "integer", + "format": "int32", + "description": "Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria", + "readOnly": true + }, + "totalElements": { + "type": "integer", + "format": "int64", + "description": "Total number of elements in all available pages", + "readOnly": true + }, + "hasNext": { + "type": "boolean", + "description": "'false' value indicates the end of the result set", + "readOnly": true + } + } + }, + "PageDataAgentAppEventInfo": { + "type": "object", + "properties": { + "data": { + "type": "array", + "description": "Array of the entities", + "items": { + "$ref": "#/components/schemas/AgentAppEventInfo" + }, + "readOnly": true + }, + "totalPages": { + "type": "integer", + "format": "int32", + "description": "Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria", + "readOnly": true + }, + "totalElements": { + "type": "integer", + "format": "int64", + "description": "Total number of elements in all available pages", + "readOnly": true + }, + "hasNext": { + "type": "boolean", + "description": "'false' value indicates the end of the result set", + "readOnly": true + } + } + }, + "PageDataAgentAppProfile": { + "type": "object", + "properties": { + "data": { + "type": "array", + "description": "Array of the entities", + "items": { + "$ref": "#/components/schemas/AgentAppProfile" + }, + "readOnly": true + }, + "totalPages": { + "type": "integer", + "format": "int32", + "description": "Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria", + "readOnly": true + }, + "totalElements": { + "type": "integer", + "format": "int64", + "description": "Total number of elements in all available pages", + "readOnly": true + }, + "hasNext": { + "type": "boolean", + "description": "'false' value indicates the end of the result set", + "readOnly": true + } + } + }, + "PageDataAgentAppUnit": { + "type": "object", + "properties": { + "data": { + "type": "array", + "description": "Array of the entities", + "items": { + "$ref": "#/components/schemas/AgentAppUnit" + }, + "readOnly": true + }, + "totalPages": { + "type": "integer", + "format": "int32", + "description": "Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria", + "readOnly": true + }, + "totalElements": { + "type": "integer", + "format": "int64", + "description": "Total number of elements in all available pages", + "readOnly": true + }, + "hasNext": { + "type": "boolean", + "description": "'false' value indicates the end of the result set", + "readOnly": true + } + } + }, + "PageDataAgentApplicationInfo": { + "type": "object", + "properties": { + "data": { + "type": "array", + "description": "Array of the entities", + "items": { + "$ref": "#/components/schemas/AgentApplicationInfo" + }, + "readOnly": true + }, + "totalPages": { + "type": "integer", + "format": "int32", + "description": "Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria", + "readOnly": true + }, + "totalElements": { + "type": "integer", + "format": "int64", + "description": "Total number of elements in all available pages", + "readOnly": true + }, + "hasNext": { + "type": "boolean", + "description": "'false' value indicates the end of the result set", + "readOnly": true + } + } + }, + "PageDataAgentBulkAction": { + "type": "object", + "properties": { + "data": { + "type": "array", + "description": "Array of the entities", + "items": { + "$ref": "#/components/schemas/AgentBulkAction" + }, + "readOnly": true + }, + "totalPages": { + "type": "integer", + "format": "int32", + "description": "Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria", + "readOnly": true + }, + "totalElements": { + "type": "integer", + "format": "int64", + "description": "Total number of elements in all available pages", + "readOnly": true + }, + "hasNext": { + "type": "boolean", + "description": "'false' value indicates the end of the result set", + "readOnly": true + } + } + }, + "PageDataAgentInfo": { + "type": "object", + "properties": { + "data": { + "type": "array", + "description": "Array of the entities", + "items": { + "$ref": "#/components/schemas/AgentInfo" + }, + "readOnly": true + }, + "totalPages": { + "type": "integer", + "format": "int32", + "description": "Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria", + "readOnly": true + }, + "totalElements": { + "type": "integer", + "format": "int64", + "description": "Total number of elements in all available pages", + "readOnly": true + }, + "hasNext": { + "type": "boolean", + "description": "'false' value indicates the end of the result set", + "readOnly": true + } + } + }, + "PageDataAgentProfile": { + "type": "object", + "properties": { + "data": { + "type": "array", + "description": "Array of the entities", + "items": { + "$ref": "#/components/schemas/AgentProfile" + }, + "readOnly": true + }, + "totalPages": { + "type": "integer", + "format": "int32", + "description": "Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria", + "readOnly": true + }, + "totalElements": { + "type": "integer", + "format": "int64", + "description": "Total number of elements in all available pages", + "readOnly": true + }, + "hasNext": { + "type": "boolean", + "description": "'false' value indicates the end of the result set", + "readOnly": true + } + } + }, + "PageDataAgentProfileInfo": { + "type": "object", + "properties": { + "data": { + "type": "array", + "description": "Array of the entities", + "items": { + "$ref": "#/components/schemas/AgentProfileInfo" + }, + "readOnly": true + }, + "totalPages": { + "type": "integer", + "format": "int32", + "description": "Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria", + "readOnly": true + }, + "totalElements": { + "type": "integer", + "format": "int64", + "description": "Total number of elements in all available pages", + "readOnly": true + }, + "hasNext": { + "type": "boolean", + "description": "'false' value indicates the end of the result set", + "readOnly": true + } + } + }, "PageDataAiModel": { "type": "object", "properties": { @@ -137956,6 +151186,14 @@ "AES_256" ] }, + "ProcessingStartStatus": { + "type": "string", + "enum": [ + "DELIVERY_FAIL", + "PENDING", + "DELIVERED" + ] + }, "ProcessingStrategy": { "type": "object", "properties": { @@ -138696,7 +151934,8 @@ "RULE_CHAIN", "RULE_NODE", "EDGE", - "EDGE_AUTO_ASSIGN_RULE_CHAIN" + "EDGE_AUTO_ASSIGN_RULE_CHAIN", + "AGENT" ] }, "RelationsQueryFilter": { @@ -140059,6 +153298,7 @@ "ENTITY_VIEW_GROUP", "EDGE_GROUP", "DASHBOARD_GROUP", + "AGENT_GROUP", "ROLE", "GROUP_PERMISSION", "WHITE_LABELING", @@ -140077,6 +153317,9 @@ "REPORT_TEMPLATE", "REPORT", "AI_MODEL", + "AGENT", + "AGENT_APP_PROFILE", + "AGENT_PROFILE", "AI", "API_KEY" ] @@ -140391,6 +153634,36 @@ "GROUP" ] }, + "RollBackStep": { + "allOf": [ + { + "$ref": "#/components/schemas/AgentAppStep" + }, + { + "type": "object", + "properties": { + "state": { + "$ref": "#/components/schemas/RollBackStepState" + } + } + } + ] + }, + "RollBackStepState": { + "allOf": [ + { + "$ref": "#/components/schemas/AgentAppStepState" + }, + { + "type": "object", + "properties": { + "failedEventId": { + "$ref": "#/components/schemas/StepFieldAgentAppEventId" + } + } + } + ] + }, "Rpc": { "type": "object", "properties": { @@ -141115,6 +154388,60 @@ "id": "784f394c-42b6-435a-983c-b7beff2784f9" } }, + "RunJobStep": { + "allOf": [ + { + "$ref": "#/components/schemas/AgentAppStep" + }, + { + "type": "object", + "properties": { + "state": { + "$ref": "#/components/schemas/RunJobStepState" + } + } + } + ] + }, + "RunJobStepState": { + "allOf": [ + { + "$ref": "#/components/schemas/AgentAppStepState" + }, + { + "type": "object", + "properties": { + "image": { + "$ref": "#/components/schemas/StepFieldString" + }, + "entrypoint": { + "$ref": "#/components/schemas/StepFieldListString" + }, + "cmd": { + "$ref": "#/components/schemas/StepFieldListString" + }, + "env": { + "$ref": "#/components/schemas/StepFieldListString" + }, + "binds": { + "$ref": "#/components/schemas/StepFieldListString" + }, + "networks": { + "$ref": "#/components/schemas/StepFieldListString" + }, + "pullImages": { + "$ref": "#/components/schemas/StepFieldBoolean" + }, + "retries": { + "$ref": "#/components/schemas/StepFieldInteger" + }, + "networkFromServiceImageRegexPattern": { + "$ref": "#/components/schemas/StepFieldString" + } + } + } + ] + }, "SaveDeviceWithCredentialsRequest": { "type": "object", "description": "The JSON object with device and credentials. See method description above for example.", @@ -142328,6 +155655,44 @@ } } }, + "SkipReason": { + "type": "string", + "enum": [ + "VERSION_MISMATCH", + "ACTIVE_EVENT", + "RATE_LIMIT_EXCEEDED", + "ERROR" + ] + }, + "SkippedApp": { + "type": "object", + "properties": { + "agentId": { + "$ref": "#/components/schemas/AgentId", + "description": "Agent Id owning the application" + }, + "agentName": { + "type": "string", + "description": "Agent name" + }, + "applicationId": { + "$ref": "#/components/schemas/AgentApplicationId", + "description": "Application Id" + }, + "applicationName": { + "type": "string", + "description": "Application name" + }, + "reason": { + "$ref": "#/components/schemas/SkipReason", + "description": "Reason for skipping" + }, + "msg": { + "type": "string", + "description": "Optional message in case of a failure" + } + } + }, "SlackConversation": { "type": "object", "properties": { @@ -143187,6 +156552,65 @@ "maxErrorsOccurred": 300 } }, + "StepFieldAgentAppEventId": { + "type": "object", + "properties": { + "value": { + "$ref": "#/components/schemas/AgentAppEventId" + }, + "userChoice": { + "type": "boolean" + } + } + }, + "StepFieldBoolean": { + "type": "object", + "properties": { + "value": { + "type": "boolean" + }, + "userChoice": { + "type": "boolean" + } + } + }, + "StepFieldInteger": { + "type": "object", + "properties": { + "value": { + "type": "integer", + "format": "int32" + }, + "userChoice": { + "type": "boolean" + } + } + }, + "StepFieldListString": { + "type": "object", + "properties": { + "userChoice": { + "type": "boolean" + }, + "value": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "StepFieldString": { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "userChoice": { + "type": "boolean" + } + } + }, "StoreInfo": { "type": "object", "properties": { @@ -144389,6 +157813,10 @@ "edgeEventRateLimitsPerEdge": null, "edgeUplinkMessagesRateLimits": null, "edgeUplinkMessagesRateLimitsPerEdge": null, + "agentEventRateLimits": null, + "agentEventRateLimitsPerAgent": null, + "agentLogChunkRateLimits": null, + "agentLogChunkRateLimitsPerAgent": null, "defaultStorageTtlDays": null, "alarmsTtlDays": null, "rpcTtlDays": null, diff --git a/pe/src/main/java/org/thingsboard/client/ApiClient.java b/pe/src/main/java/org/thingsboard/client/ApiClient.java index b2355209..fec41eb5 100644 --- a/pe/src/main/java/org/thingsboard/client/ApiClient.java +++ b/pe/src/main/java/org/thingsboard/client/ApiClient.java @@ -173,7 +173,7 @@ public static List parameterToPairs( public ApiClient() { this.builder = createDefaultHttpClientBuilder(); this.mapper = createDefaultObjectMapper(); - updateBaseUri("http://localhost:43909"); + updateBaseUri("http://localhost:39233"); interceptor = null; readTimeout = null; connectTimeout = null; @@ -191,7 +191,7 @@ public ApiClient() { public ApiClient(HttpClient.Builder builder, ObjectMapper mapper, String baseUri) { this.builder = builder; this.mapper = mapper; - updateBaseUri(baseUri != null ? baseUri : "http://localhost:43909"); + updateBaseUri(baseUri != null ? baseUri : "http://localhost:39233"); interceptor = null; readTimeout = null; connectTimeout = null; diff --git a/pe/src/main/java/org/thingsboard/client/api/ThingsboardApi.java b/pe/src/main/java/org/thingsboard/client/api/ThingsboardApi.java index 8779c957..784fcd59 100644 --- a/pe/src/main/java/org/thingsboard/client/api/ThingsboardApi.java +++ b/pe/src/main/java/org/thingsboard/client/api/ThingsboardApi.java @@ -25,6 +25,28 @@ import org.thingsboard.client.model.AccountTwoFaSettings; import org.thingsboard.client.model.ActivateUserRequest; import org.thingsboard.client.model.AdminSettings; +import org.thingsboard.client.model.Agent; +import org.thingsboard.client.model.AgentAppConfigType; +import org.thingsboard.client.model.AgentAppEvent; +import org.thingsboard.client.model.AgentAppEventActionType; +import org.thingsboard.client.model.AgentAppEventRequest; +import org.thingsboard.client.model.AgentAppInstallResponse; +import org.thingsboard.client.model.AgentAppProfile; +import org.thingsboard.client.model.AgentAppProfileInfo; +import org.thingsboard.client.model.AgentAppProfileRelationInfo; +import org.thingsboard.client.model.AgentAppTemplate; +import org.thingsboard.client.model.AgentAppUnitType; +import org.thingsboard.client.model.AgentApplication; +import org.thingsboard.client.model.AgentApplicationInfo; +import org.thingsboard.client.model.AgentApplicationType; +import org.thingsboard.client.model.AgentBulkAction; +import org.thingsboard.client.model.AgentBulkActionEventStats; +import org.thingsboard.client.model.AgentInfo; +import org.thingsboard.client.model.AgentInstructions; +import org.thingsboard.client.model.AgentProcessingStatus; +import org.thingsboard.client.model.AgentProfile; +import org.thingsboard.client.model.AgentProfileInfo; +import org.thingsboard.client.model.AgentUpgradeRequest; import org.thingsboard.client.model.AiModel; import org.thingsboard.client.model.Alarm; import org.thingsboard.client.model.AlarmComment; @@ -53,13 +75,14 @@ import org.thingsboard.client.model.BulkImportResultAsset; import org.thingsboard.client.model.BulkImportResultDevice; import org.thingsboard.client.model.BulkImportResultEdge; +import org.thingsboard.client.model.BulkOperationPreview; +import org.thingsboard.client.model.BulkOperationRequest; import org.thingsboard.client.model.CMAssigneeType; import org.thingsboard.client.model.CMScope; import org.thingsboard.client.model.CalculatedField; import org.thingsboard.client.model.CalculatedFieldType; import org.thingsboard.client.model.CfReprocessingValidationResult; import org.thingsboard.client.model.ChangePasswordRequest; -import org.thingsboard.client.model.ChatType; import org.thingsboard.client.model.ClaimRequest; import org.thingsboard.client.model.ComponentDescriptor; import org.thingsboard.client.model.Converter; @@ -107,6 +130,7 @@ import org.thingsboard.client.model.EventFilter; import org.thingsboard.client.model.FeaturesInfo; import java.io.File; +import org.thingsboard.client.model.GetManagedRelatedEntityIds200ResponseInner; import org.thingsboard.client.model.GroupPermission; import org.thingsboard.client.model.GroupPermissionInfo; import org.thingsboard.client.model.HomeDashboard; @@ -147,6 +171,16 @@ import org.thingsboard.client.model.OAuth2ClientRegistrationTemplate; import org.thingsboard.client.model.OtaPackage; import org.thingsboard.client.model.OtaPackageInfo; +import org.thingsboard.client.model.PageDataAgent; +import org.thingsboard.client.model.PageDataAgentAppEvent; +import org.thingsboard.client.model.PageDataAgentAppEventInfo; +import org.thingsboard.client.model.PageDataAgentAppProfile; +import org.thingsboard.client.model.PageDataAgentAppUnit; +import org.thingsboard.client.model.PageDataAgentApplicationInfo; +import org.thingsboard.client.model.PageDataAgentBulkAction; +import org.thingsboard.client.model.PageDataAgentInfo; +import org.thingsboard.client.model.PageDataAgentProfile; +import org.thingsboard.client.model.PageDataAgentProfileInfo; import org.thingsboard.client.model.PageDataAiModel; import org.thingsboard.client.model.PageDataAlarmCommentInfo; import org.thingsboard.client.model.PageDataAlarmData; @@ -1239,6 +1273,175 @@ private HttpRequest.Builder assignAlarmRequestBuilder(@Nonnull String alarmId, @ return localVarRequestBuilder; } + /** + * Assign App Profile to Agent Profile (assignAppProfileToAgentProfile) + * Assigns the given agent application profile to the agent profile, making it available to applications managed by that agent profile. Available for users with 'TENANT_ADMIN' authority. + * @param agentProfileId Agent Profile Id (required) + * @param applicationProfileId Agent Application Profile Id (required) + * @throws ApiException if fails to make API call + */ + public void assignAppProfileToAgentProfile(@Nonnull String agentProfileId, @Nonnull String applicationProfileId) throws ApiException { + assignAppProfileToAgentProfileWithHttpInfo(agentProfileId, applicationProfileId, null); + } + + /** + * Assign App Profile to Agent Profile (assignAppProfileToAgentProfile) + * Assigns the given agent application profile to the agent profile, making it available to applications managed by that agent profile. Available for users with 'TENANT_ADMIN' authority. + * @param agentProfileId Agent Profile Id (required) + * @param applicationProfileId Agent Application Profile Id (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<Void> + * @throws ApiException if fails to make API call + */ + public ApiResponse assignAppProfileToAgentProfileWithHttpInfo(@Nonnull String agentProfileId, @Nonnull String applicationProfileId, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = assignAppProfileToAgentProfileRequestBuilder(agentProfileId, applicationProfileId, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("assignAppProfileToAgentProfile", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody != null) { + localVarResponseBody.readAllBytes(); + } + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder assignAppProfileToAgentProfileRequestBuilder(@Nonnull String agentProfileId, @Nonnull String applicationProfileId, Map headers) throws ApiException { + // verify the required parameter 'agentProfileId' is set + if (agentProfileId == null) { + throw new ApiException(400, "Missing the required parameter 'agentProfileId' when calling assignAppProfileToAgentProfile"); + } + // verify the required parameter 'applicationProfileId' is set + if (applicationProfileId == null) { + throw new ApiException(400, "Missing the required parameter 'applicationProfileId' when calling assignAppProfileToAgentProfile"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/profile/{agentProfileId}/appProfile/{applicationProfileId}" + .replace("{agentProfileId}", ApiClient.urlEncode(agentProfileId.toString())) + .replace("{applicationProfileId}", ApiClient.urlEncode(applicationProfileId.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Assign Multiple App Profiles to Agent Profile (assignAppProfilesToAgentProfile) + * Assigns the given set of agent application profiles to the agent profile in a single request, replacing the previous assignment set. An explicitly empty 'appProfileIds' value (e.g. 'appProfileIds=') removes all assignments. Available for users with 'TENANT_ADMIN' authority. + * @param agentProfileId Agent Profile Id (required) + * @param appProfileIds Agent application profile ids that replace the current assignment set. An explicitly empty value removes all assignments. (optional) + * @throws ApiException if fails to make API call + */ + public void assignAppProfilesToAgentProfile(@Nonnull String agentProfileId, @Nullable List appProfileIds) throws ApiException { + assignAppProfilesToAgentProfileWithHttpInfo(agentProfileId, appProfileIds, null); + } + + /** + * Assign Multiple App Profiles to Agent Profile (assignAppProfilesToAgentProfile) + * Assigns the given set of agent application profiles to the agent profile in a single request, replacing the previous assignment set. An explicitly empty 'appProfileIds' value (e.g. 'appProfileIds=') removes all assignments. Available for users with 'TENANT_ADMIN' authority. + * @param agentProfileId Agent Profile Id (required) + * @param appProfileIds Agent application profile ids that replace the current assignment set. An explicitly empty value removes all assignments. (optional) + * @param headers Optional headers to include in the request + * @return ApiResponse<Void> + * @throws ApiException if fails to make API call + */ + public ApiResponse assignAppProfilesToAgentProfileWithHttpInfo(@Nonnull String agentProfileId, @Nullable List appProfileIds, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = assignAppProfilesToAgentProfileRequestBuilder(agentProfileId, appProfileIds, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("assignAppProfilesToAgentProfile", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody != null) { + localVarResponseBody.readAllBytes(); + } + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder assignAppProfilesToAgentProfileRequestBuilder(@Nonnull String agentProfileId, @Nullable List appProfileIds, Map headers) throws ApiException { + // verify the required parameter 'agentProfileId' is set + if (agentProfileId == null) { + throw new ApiException(400, "Missing the required parameter 'agentProfileId' when calling assignAppProfilesToAgentProfile"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/profile/{agentProfileId}/appProfiles/assign" + .replace("{agentProfileId}", ApiClient.urlEncode(agentProfileId.toString())); + List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "appProfileIds"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("multi", "appProfileIds", appProfileIds)); + if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) { + StringJoiner queryJoiner = new StringJoiner("&"); + localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryStringJoiner.toString()); + } + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); + } else { + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + } + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + /** * Assign device to tenant (assignDeviceToTenant) * Creates assignment of the device to tenant. Thereafter tenant will be able to reassign the device to a customer. Available for users with 'TENANT_ADMIN' authority. Security check is performed to verify that the user has 'ASSIGN_TO_TENANT' permission for the entity (entities). @@ -1498,6 +1701,97 @@ private HttpRequest.Builder assignIntegrationToEdgeRequestBuilder(@Nonnull Strin return localVarRequestBuilder; } + /** + * Assign Related Entity to Agent Application (assignRelatedEntityToAgentApp) + * Links an Edge or Gateway Device to the specified agent application and re-merges entity credentials into the compose. Available for users with 'TENANT_ADMIN' authority. + * @param agentApplicationId A string value representing the agent application id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param entityType Related entity type (EDGE or DEVICE) (required) + * @param entityId Related entity id (required) + * @return AgentApplication + * @throws ApiException if fails to make API call + */ + public AgentApplication assignRelatedEntityToAgentApp(@Nonnull String agentApplicationId, @Nonnull String entityType, @Nonnull String entityId) throws ApiException { + ApiResponse localVarResponse = assignRelatedEntityToAgentAppWithHttpInfo(agentApplicationId, entityType, entityId, null); + return localVarResponse.getData(); + } + + /** + * Assign Related Entity to Agent Application (assignRelatedEntityToAgentApp) + * Links an Edge or Gateway Device to the specified agent application and re-merges entity credentials into the compose. Available for users with 'TENANT_ADMIN' authority. + * @param agentApplicationId A string value representing the agent application id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param entityType Related entity type (EDGE or DEVICE) (required) + * @param entityId Related entity id (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<AgentApplication> + * @throws ApiException if fails to make API call + */ + public ApiResponse assignRelatedEntityToAgentAppWithHttpInfo(@Nonnull String agentApplicationId, @Nonnull String entityType, @Nonnull String entityId, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = assignRelatedEntityToAgentAppRequestBuilder(agentApplicationId, entityType, entityId, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("assignRelatedEntityToAgentApp", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + AgentApplication responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder assignRelatedEntityToAgentAppRequestBuilder(@Nonnull String agentApplicationId, @Nonnull String entityType, @Nonnull String entityId, Map headers) throws ApiException { + // verify the required parameter 'agentApplicationId' is set + if (agentApplicationId == null) { + throw new ApiException(400, "Missing the required parameter 'agentApplicationId' when calling assignRelatedEntityToAgentApp"); + } + // verify the required parameter 'entityType' is set + if (entityType == null) { + throw new ApiException(400, "Missing the required parameter 'entityType' when calling assignRelatedEntityToAgentApp"); + } + // verify the required parameter 'entityId' is set + if (entityId == null) { + throw new ApiException(400, "Missing the required parameter 'entityId' when calling assignRelatedEntityToAgentApp"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/app/{agentApplicationId}/relatedEntity/{entityType}/{entityId}" + .replace("{agentApplicationId}", ApiClient.urlEncode(agentApplicationId.toString())) + .replace("{entityType}", ApiClient.urlEncode(entityType.toString())) + .replace("{entityId}", ApiClient.urlEncode(entityId.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + /** * Assign rule chain to edge (assignRuleChainToEdge) * Creates assignment of an existing rule chain to an instance of The Edge. Assignment works in async way - first, notification event pushed to edge service queue on platform. Second, remote edge service will receive a copy of assignment rule chain (Edge will receive this instantly, if it's currently connected, or once it's going to be connected to platform). Third, once rule chain will be delivered to edge service, it's going to start processing messages locally. Only rule chain with type 'EDGE' can be assigned to edge. Available for users with 'TENANT_ADMIN' authority. @@ -1666,6 +1960,90 @@ private HttpRequest.Builder assignSchedulerEventToEdgeRequestBuilder(@Nonnull St return localVarRequestBuilder; } + /** + * Attach Application to Profile (attachToProfile) + * Re-attaches the application to a profile. The application adopts the profile's template version without running any upgrade or downgrade steps. After attachment the profile becomes the source of the config; the app's own credentials are carried over. Available for users with 'TENANT_ADMIN' authority. + * @param agentApplicationId A string value representing the agent application id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param profileId (required) + * @return AgentApplication + * @throws ApiException if fails to make API call + */ + public AgentApplication attachToProfile(@Nonnull String agentApplicationId, @Nonnull String profileId) throws ApiException { + ApiResponse localVarResponse = attachToProfileWithHttpInfo(agentApplicationId, profileId, null); + return localVarResponse.getData(); + } + + /** + * Attach Application to Profile (attachToProfile) + * Re-attaches the application to a profile. The application adopts the profile's template version without running any upgrade or downgrade steps. After attachment the profile becomes the source of the config; the app's own credentials are carried over. Available for users with 'TENANT_ADMIN' authority. + * @param agentApplicationId A string value representing the agent application id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param profileId (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<AgentApplication> + * @throws ApiException if fails to make API call + */ + public ApiResponse attachToProfileWithHttpInfo(@Nonnull String agentApplicationId, @Nonnull String profileId, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = attachToProfileRequestBuilder(agentApplicationId, profileId, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("attachToProfile", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + AgentApplication responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder attachToProfileRequestBuilder(@Nonnull String agentApplicationId, @Nonnull String profileId, Map headers) throws ApiException { + // verify the required parameter 'agentApplicationId' is set + if (agentApplicationId == null) { + throw new ApiException(400, "Missing the required parameter 'agentApplicationId' when calling attachToProfile"); + } + // verify the required parameter 'profileId' is set + if (profileId == null) { + throw new ApiException(400, "Missing the required parameter 'profileId' when calling attachToProfile"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/app/{agentApplicationId}/attach/{profileId}" + .replace("{agentApplicationId}", ApiClient.urlEncode(agentApplicationId.toString())) + .replace("{profileId}", ApiClient.urlEncode(profileId.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + /** * Get regular token pair after successfully configuring 2FA * Checks 2FA is configured, returning token pair on success. @@ -1806,6 +2184,182 @@ private HttpRequest.Builder autoCommitSettingsExistsRequestBuilder(Map localVarResponse = bulkOperationWithHttpInfo(agentProfileId, applicationProfileId, bulkOperationRequest, null); + return localVarResponse.getData(); + } + + /** + * Bulk Operation (bulkOperation) + * Enqueues a bulk operation over the applications of the given agent profile and application profile and returns the created bulk action to track its progress. Available for users with 'TENANT_ADMIN' authority. + * @param agentProfileId Agent Profile Id (required) + * @param applicationProfileId Agent Application Profile Id (required) + * @param bulkOperationRequest (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<AgentBulkAction> + * @throws ApiException if fails to make API call + */ + public ApiResponse bulkOperationWithHttpInfo(@Nonnull String agentProfileId, @Nonnull String applicationProfileId, @Nonnull BulkOperationRequest bulkOperationRequest, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = bulkOperationRequestBuilder(agentProfileId, applicationProfileId, bulkOperationRequest, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("bulkOperation", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + AgentBulkAction responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder bulkOperationRequestBuilder(@Nonnull String agentProfileId, @Nonnull String applicationProfileId, @Nonnull BulkOperationRequest bulkOperationRequest, Map headers) throws ApiException { + // verify the required parameter 'agentProfileId' is set + if (agentProfileId == null) { + throw new ApiException(400, "Missing the required parameter 'agentProfileId' when calling bulkOperation"); + } + // verify the required parameter 'applicationProfileId' is set + if (applicationProfileId == null) { + throw new ApiException(400, "Missing the required parameter 'applicationProfileId' when calling bulkOperation"); + } + // verify the required parameter 'bulkOperationRequest' is set + if (bulkOperationRequest == null) { + throw new ApiException(400, "Missing the required parameter 'bulkOperationRequest' when calling bulkOperation"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/profile/{agentProfileId}/appProfile/{applicationProfileId}/bulk" + .replace("{agentProfileId}", ApiClient.urlEncode(agentProfileId.toString())) + .replace("{applicationProfileId}", ApiClient.urlEncode(applicationProfileId.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Content-Type", "application/json"); + localVarRequestBuilder.header("Accept", "application/json"); + try { + byte[] localVarPostBody = memberVarObjectMapper.writeValueAsBytes(bulkOperationRequest); + localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.ofByteArray(localVarPostBody)); + } catch (IOException e) { + throw new ApiException(e); + } + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Cancel Agent Application Event (cancelAgentAppEvent) + * Force-cancels an in-flight or pending agent application event, marking it as ERROR. Cannot cancel events that are already in a terminal state (FINISHED or ERROR). Available for users with 'TENANT_ADMIN' authority. + * @param agentApplicationId A string value representing the agent application id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param agentAppEventId A string value representing the agent app event id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @throws ApiException if fails to make API call + */ + public void cancelAgentAppEvent(@Nonnull String agentApplicationId, @Nonnull String agentAppEventId) throws ApiException { + cancelAgentAppEventWithHttpInfo(agentApplicationId, agentAppEventId, null); + } + + /** + * Cancel Agent Application Event (cancelAgentAppEvent) + * Force-cancels an in-flight or pending agent application event, marking it as ERROR. Cannot cancel events that are already in a terminal state (FINISHED or ERROR). Available for users with 'TENANT_ADMIN' authority. + * @param agentApplicationId A string value representing the agent application id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param agentAppEventId A string value representing the agent app event id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<Void> + * @throws ApiException if fails to make API call + */ + public ApiResponse cancelAgentAppEventWithHttpInfo(@Nonnull String agentApplicationId, @Nonnull String agentAppEventId, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = cancelAgentAppEventRequestBuilder(agentApplicationId, agentAppEventId, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("cancelAgentAppEvent", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody != null) { + localVarResponseBody.readAllBytes(); + } + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder cancelAgentAppEventRequestBuilder(@Nonnull String agentApplicationId, @Nonnull String agentAppEventId, Map headers) throws ApiException { + // verify the required parameter 'agentApplicationId' is set + if (agentApplicationId == null) { + throw new ApiException(400, "Missing the required parameter 'agentApplicationId' when calling cancelAgentAppEvent"); + } + // verify the required parameter 'agentAppEventId' is set + if (agentAppEventId == null) { + throw new ApiException(400, "Missing the required parameter 'agentAppEventId' when calling cancelAgentAppEvent"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/app/{agentApplicationId}/event/{agentAppEventId}/cancel" + .replace("{agentApplicationId}", ApiClient.urlEncode(agentApplicationId.toString())) + .replace("{agentAppEventId}", ApiClient.urlEncode(agentAppEventId.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + /** * Cancel job (cancelJob) * Cancels the job. The status of the job must be QUEUED, PENDING or RUNNING. For a running job, all the tasks not yet processed will be discarded. See the example of a cancelled job result in getJobById method description. Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. @@ -3711,6 +4265,95 @@ private HttpRequest.Builder countEntitiesByQueryRequestBuilder(@Nonnull EntityCo return localVarRequestBuilder; } + /** + * Execute Agent Application Event (createAgentAppEvent) + * Creates an event for the specified agent application. The action type determines the operation (UPDATE, DELETE, RESTART, UPGRADE, ROLLBACK). Step inputs can be provided for actions that require them. Returns the created event so the caller can open a progress view. Available for users with 'TENANT_ADMIN' authority. + * @param agentApplicationId A string value representing the agent application id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param agentAppEventRequest A JSON value representing the event request. (required) + * @return AgentAppEvent + * @throws ApiException if fails to make API call + */ + public AgentAppEvent createAgentAppEvent(@Nonnull String agentApplicationId, @Nonnull AgentAppEventRequest agentAppEventRequest) throws ApiException { + ApiResponse localVarResponse = createAgentAppEventWithHttpInfo(agentApplicationId, agentAppEventRequest, null); + return localVarResponse.getData(); + } + + /** + * Execute Agent Application Event (createAgentAppEvent) + * Creates an event for the specified agent application. The action type determines the operation (UPDATE, DELETE, RESTART, UPGRADE, ROLLBACK). Step inputs can be provided for actions that require them. Returns the created event so the caller can open a progress view. Available for users with 'TENANT_ADMIN' authority. + * @param agentApplicationId A string value representing the agent application id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param agentAppEventRequest A JSON value representing the event request. (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<AgentAppEvent> + * @throws ApiException if fails to make API call + */ + public ApiResponse createAgentAppEventWithHttpInfo(@Nonnull String agentApplicationId, @Nonnull AgentAppEventRequest agentAppEventRequest, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = createAgentAppEventRequestBuilder(agentApplicationId, agentAppEventRequest, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("createAgentAppEvent", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + AgentAppEvent responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder createAgentAppEventRequestBuilder(@Nonnull String agentApplicationId, @Nonnull AgentAppEventRequest agentAppEventRequest, Map headers) throws ApiException { + // verify the required parameter 'agentApplicationId' is set + if (agentApplicationId == null) { + throw new ApiException(400, "Missing the required parameter 'agentApplicationId' when calling createAgentAppEvent"); + } + // verify the required parameter 'agentAppEventRequest' is set + if (agentAppEventRequest == null) { + throw new ApiException(400, "Missing the required parameter 'agentAppEventRequest' when calling createAgentAppEvent"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/app/{agentApplicationId}/event" + .replace("{agentApplicationId}", ApiClient.urlEncode(agentApplicationId.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Content-Type", "application/json"); + localVarRequestBuilder.header("Accept", "application/json"); + try { + byte[] localVarPostBody = memberVarObjectMapper.writeValueAsBytes(agentAppEventRequest); + localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.ofByteArray(localVarPostBody)); + } catch (IOException e) { + throw new ApiException(e); + } + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + /** * createChat * @@ -4132,6 +4775,225 @@ private HttpRequest.Builder createSolutionRequestBuilder(@Nonnull UUID solutionI return localVarRequestBuilder; } + /** + * Delete agent (deleteAgent) + * Deletes the agent and all the relations (from and to the agent). Referencing non-existing agent Id will cause an error. Available for users with 'TENANT_ADMIN' authority. + * @param agentId A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @throws ApiException if fails to make API call + */ + public void deleteAgent(@Nonnull String agentId) throws ApiException { + deleteAgentWithHttpInfo(agentId, null); + } + + /** + * Delete agent (deleteAgent) + * Deletes the agent and all the relations (from and to the agent). Referencing non-existing agent Id will cause an error. Available for users with 'TENANT_ADMIN' authority. + * @param agentId A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<Void> + * @throws ApiException if fails to make API call + */ + public ApiResponse deleteAgentWithHttpInfo(@Nonnull String agentId, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = deleteAgentRequestBuilder(agentId, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("deleteAgent", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody != null) { + localVarResponseBody.readAllBytes(); + } + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder deleteAgentRequestBuilder(@Nonnull String agentId, Map headers) throws ApiException { + // verify the required parameter 'agentId' is set + if (agentId == null) { + throw new ApiException(400, "Missing the required parameter 'agentId' when calling deleteAgent"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/{agentId}" + .replace("{agentId}", ApiClient.urlEncode(agentId.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("DELETE", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Delete Agent Application Profile (deleteAgentAppProfile) + * Deletes the agent application profile. Cannot delete if referenced by applications. Available for users with 'TENANT_ADMIN' authority. + * @param profileId Profile Id (required) + * @throws ApiException if fails to make API call + */ + public void deleteAgentAppProfile(@Nonnull String profileId) throws ApiException { + deleteAgentAppProfileWithHttpInfo(profileId, null); + } + + /** + * Delete Agent Application Profile (deleteAgentAppProfile) + * Deletes the agent application profile. Cannot delete if referenced by applications. Available for users with 'TENANT_ADMIN' authority. + * @param profileId Profile Id (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<Void> + * @throws ApiException if fails to make API call + */ + public ApiResponse deleteAgentAppProfileWithHttpInfo(@Nonnull String profileId, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = deleteAgentAppProfileRequestBuilder(profileId, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("deleteAgentAppProfile", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody != null) { + localVarResponseBody.readAllBytes(); + } + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder deleteAgentAppProfileRequestBuilder(@Nonnull String profileId, Map headers) throws ApiException { + // verify the required parameter 'profileId' is set + if (profileId == null) { + throw new ApiException(400, "Missing the required parameter 'profileId' when calling deleteAgentAppProfile"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/app/profile/{profileId}" + .replace("{profileId}", ApiClient.urlEncode(profileId.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("DELETE", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Delete Agent Profile (deleteAgentProfile) + * Deletes the Agent Profile. Referencing a non-existing Agent Profile Id will cause an error. The default Agent Profile can not be deleted. Available for users with 'TENANT_ADMIN' authority. + * @param agentProfileId Agent Profile Id (required) + * @throws ApiException if fails to make API call + */ + public void deleteAgentProfile(@Nonnull String agentProfileId) throws ApiException { + deleteAgentProfileWithHttpInfo(agentProfileId, null); + } + + /** + * Delete Agent Profile (deleteAgentProfile) + * Deletes the Agent Profile. Referencing a non-existing Agent Profile Id will cause an error. The default Agent Profile can not be deleted. Available for users with 'TENANT_ADMIN' authority. + * @param agentProfileId Agent Profile Id (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<Void> + * @throws ApiException if fails to make API call + */ + public ApiResponse deleteAgentProfileWithHttpInfo(@Nonnull String agentProfileId, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = deleteAgentProfileRequestBuilder(agentProfileId, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("deleteAgentProfile", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody != null) { + localVarResponseBody.readAllBytes(); + } + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder deleteAgentProfileRequestBuilder(@Nonnull String agentProfileId, Map headers) throws ApiException { + // verify the required parameter 'agentProfileId' is set + if (agentProfileId == null) { + throw new ApiException(400, "Missing the required parameter 'agentProfileId' when calling deleteAgentProfile"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/profile/{agentProfileId}" + .replace("{agentProfileId}", ApiClient.urlEncode(agentProfileId.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("DELETE", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + /** * Delete AI model by ID (deleteAiModelById) * Deletes the AI model record by its `id`. If a record with the specified `id` exists, the record is deleted and the endpoint returns `true`. If no such record exists, the endpoint returns `false`. Available for users with 'TENANT_ADMIN' authority. @@ -9186,27 +10048,27 @@ private HttpRequest.Builder deleteWidgetsBundleRequestBuilder(@Nonnull String wi } /** - * Download Blob Entity By Id (downloadBlobEntity) - * Download report file based on the provided Blob entity Id. Referencing non-existing Blob entity Id will cause an error. Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities). - * @param blobEntityId A string value representing the blob entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) - * @return File + * Detach Application from Profile (detachFromProfile) + * Detaches the application from its profile. The application keeps the effective config it already carries (profile config with its own credentials merged in) and becomes standalone and editable. Available for users with 'TENANT_ADMIN' authority. + * @param agentApplicationId A string value representing the agent application id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @return AgentApplication * @throws ApiException if fails to make API call */ - public File downloadBlobEntity(@Nonnull String blobEntityId) throws ApiException { - ApiResponse localVarResponse = downloadBlobEntityWithHttpInfo(blobEntityId, null); + public AgentApplication detachFromProfile(@Nonnull String agentApplicationId) throws ApiException { + ApiResponse localVarResponse = detachFromProfileWithHttpInfo(agentApplicationId, null); return localVarResponse.getData(); } /** - * Download Blob Entity By Id (downloadBlobEntity) - * Download report file based on the provided Blob entity Id. Referencing non-existing Blob entity Id will cause an error. Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities). - * @param blobEntityId A string value representing the blob entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * Detach Application from Profile (detachFromProfile) + * Detaches the application from its profile. The application keeps the effective config it already carries (profile config with its own credentials merged in) and becomes standalone and editable. Available for users with 'TENANT_ADMIN' authority. + * @param agentApplicationId A string value representing the agent application id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) * @param headers Optional headers to include in the request - * @return ApiResponse<File> + * @return ApiResponse<AgentApplication> * @throws ApiException if fails to make API call */ - public ApiResponse downloadBlobEntityWithHttpInfo(@Nonnull String blobEntityId, Map headers) throws ApiException { - HttpRequest.Builder localVarRequestBuilder = downloadBlobEntityRequestBuilder(blobEntityId, headers); + public ApiResponse detachFromProfileWithHttpInfo(@Nonnull String agentApplicationId, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = detachFromProfileRequestBuilder(agentApplicationId, headers); try { HttpResponse localVarResponse = memberVarHttpClient.send( localVarRequestBuilder.build(), @@ -9217,14 +10079,15 @@ public ApiResponse downloadBlobEntityWithHttpInfo(@Nonnull String blobEnti InputStream localVarResponseBody = null; try { if (localVarResponse.statusCode()/ 100 != 2) { - throw getApiException("downloadBlobEntity", localVarResponse); + throw getApiException("detachFromProfile", localVarResponse); } localVarResponseBody = ApiClient.getResponseBody(localVarResponse); if (localVarResponseBody == null) { - return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); } - File responseValue = downloadFileFromResponse(localVarResponse, localVarResponseBody); - return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + String responseBody = new String(localVarResponseBody.readAllBytes()); + AgentApplication responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); } finally { if (localVarResponseBody != null) { localVarResponseBody.close(); @@ -9239,17 +10102,17 @@ public ApiResponse downloadBlobEntityWithHttpInfo(@Nonnull String blobEnti } } - private HttpRequest.Builder downloadBlobEntityRequestBuilder(@Nonnull String blobEntityId, Map headers) throws ApiException { - // verify the required parameter 'blobEntityId' is set - if (blobEntityId == null) { - throw new ApiException(400, "Missing the required parameter 'blobEntityId' when calling downloadBlobEntity"); + private HttpRequest.Builder detachFromProfileRequestBuilder(@Nonnull String agentApplicationId, Map headers) throws ApiException { + // verify the required parameter 'agentApplicationId' is set + if (agentApplicationId == null) { + throw new ApiException(400, "Missing the required parameter 'agentApplicationId' when calling detachFromProfile"); } HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); - String localVarPath = "/api/blobEntity/{blobEntityId}/download" - .replace("{blobEntityId}", ApiClient.urlEncode(blobEntityId.toString())); + String localVarPath = "/api/agent/app/{agentApplicationId}/detach" + .replace("{agentApplicationId}", ApiClient.urlEncode(agentApplicationId.toString())); localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); localVarRequestBuilder.header("Accept", "application/json"); - localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.noBody()); if (memberVarReadTimeout != null) { localVarRequestBuilder.timeout(memberVarReadTimeout); } @@ -9262,29 +10125,27 @@ private HttpRequest.Builder downloadBlobEntityRequestBuilder(@Nonnull String blo } /** - * Download dashboard report (downloadDashboardReport) - * Generate and download a report from the specified dashboard. The request payload is a JSON object with params of report. For example: ```json { \"type\": \"pdf\", \"timezone\": \"Europe/Kiev\", \"timewindow\": { \"displayValue\": \"\", \"hideInterval\": false, \"hideLastInterval\": false, \"hideQuickInterval\": false, \"hideAggregation\": false, \"hideAggInterval\": false, \"hideTimezone\": false, \"selectedTab\": 0, \"realtime\": { \"realtimeType\": 0, \"interval\": 1000, \"timewindowMs\": 60000, \"quickInterval\": \"CURRENT_DAY\" }, \"history\": { \"historyType\": 0, \"interval\": 1000, \"timewindowMs\": 60000, \"fixedTimewindow\": { \"startTimeMs\": 1703687976592, \"endTimeMs\": 1703774376592 }, \"quickInterval\": \"CURRENT_DAY\" }, \"aggregation\": { \"type\": \"AVG\", \"limit\": 25000 } }, \"state\": null } ``` Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. - * @param dashboardId A string value representing the dashboard id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) - * @param body (required) + * Download Blob Entity By Id (downloadBlobEntity) + * Download report file based on the provided Blob entity Id. Referencing non-existing Blob entity Id will cause an error. Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities). + * @param blobEntityId A string value representing the blob entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) * @return File * @throws ApiException if fails to make API call */ - public File downloadDashboardReport(@Nonnull String dashboardId, @Nullable Object body) throws ApiException { - ApiResponse localVarResponse = downloadDashboardReportWithHttpInfo(dashboardId, body, null); + public File downloadBlobEntity(@Nonnull String blobEntityId) throws ApiException { + ApiResponse localVarResponse = downloadBlobEntityWithHttpInfo(blobEntityId, null); return localVarResponse.getData(); } /** - * Download dashboard report (downloadDashboardReport) - * Generate and download a report from the specified dashboard. The request payload is a JSON object with params of report. For example: ```json { \"type\": \"pdf\", \"timezone\": \"Europe/Kiev\", \"timewindow\": { \"displayValue\": \"\", \"hideInterval\": false, \"hideLastInterval\": false, \"hideQuickInterval\": false, \"hideAggregation\": false, \"hideAggInterval\": false, \"hideTimezone\": false, \"selectedTab\": 0, \"realtime\": { \"realtimeType\": 0, \"interval\": 1000, \"timewindowMs\": 60000, \"quickInterval\": \"CURRENT_DAY\" }, \"history\": { \"historyType\": 0, \"interval\": 1000, \"timewindowMs\": 60000, \"fixedTimewindow\": { \"startTimeMs\": 1703687976592, \"endTimeMs\": 1703774376592 }, \"quickInterval\": \"CURRENT_DAY\" }, \"aggregation\": { \"type\": \"AVG\", \"limit\": 25000 } }, \"state\": null } ``` Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. - * @param dashboardId A string value representing the dashboard id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) - * @param body (required) + * Download Blob Entity By Id (downloadBlobEntity) + * Download report file based on the provided Blob entity Id. Referencing non-existing Blob entity Id will cause an error. Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities). + * @param blobEntityId A string value representing the blob entity id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) * @param headers Optional headers to include in the request * @return ApiResponse<File> * @throws ApiException if fails to make API call */ - public ApiResponse downloadDashboardReportWithHttpInfo(@Nonnull String dashboardId, @Nullable Object body, Map headers) throws ApiException { - HttpRequest.Builder localVarRequestBuilder = downloadDashboardReportRequestBuilder(dashboardId, body, headers); + public ApiResponse downloadBlobEntityWithHttpInfo(@Nonnull String blobEntityId, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = downloadBlobEntityRequestBuilder(blobEntityId, headers); try { HttpResponse localVarResponse = memberVarHttpClient.send( localVarRequestBuilder.build(), @@ -9295,7 +10156,85 @@ public ApiResponse downloadDashboardReportWithHttpInfo(@Nonnull String das InputStream localVarResponseBody = null; try { if (localVarResponse.statusCode()/ 100 != 2) { - throw getApiException("downloadDashboardReport", localVarResponse); + throw getApiException("downloadBlobEntity", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + File responseValue = downloadFileFromResponse(localVarResponse, localVarResponseBody); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder downloadBlobEntityRequestBuilder(@Nonnull String blobEntityId, Map headers) throws ApiException { + // verify the required parameter 'blobEntityId' is set + if (blobEntityId == null) { + throw new ApiException(400, "Missing the required parameter 'blobEntityId' when calling downloadBlobEntity"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/blobEntity/{blobEntityId}/download" + .replace("{blobEntityId}", ApiClient.urlEncode(blobEntityId.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Download dashboard report (downloadDashboardReport) + * Generate and download a report from the specified dashboard. The request payload is a JSON object with params of report. For example: ```json { \"type\": \"pdf\", \"timezone\": \"Europe/Kiev\", \"timewindow\": { \"displayValue\": \"\", \"hideInterval\": false, \"hideLastInterval\": false, \"hideQuickInterval\": false, \"hideAggregation\": false, \"hideAggInterval\": false, \"hideTimezone\": false, \"selectedTab\": 0, \"realtime\": { \"realtimeType\": 0, \"interval\": 1000, \"timewindowMs\": 60000, \"quickInterval\": \"CURRENT_DAY\" }, \"history\": { \"historyType\": 0, \"interval\": 1000, \"timewindowMs\": 60000, \"fixedTimewindow\": { \"startTimeMs\": 1703687976592, \"endTimeMs\": 1703774376592 }, \"quickInterval\": \"CURRENT_DAY\" }, \"aggregation\": { \"type\": \"AVG\", \"limit\": 25000 } }, \"state\": null } ``` Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. + * @param dashboardId A string value representing the dashboard id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param body (required) + * @return File + * @throws ApiException if fails to make API call + */ + public File downloadDashboardReport(@Nonnull String dashboardId, @Nullable Object body) throws ApiException { + ApiResponse localVarResponse = downloadDashboardReportWithHttpInfo(dashboardId, body, null); + return localVarResponse.getData(); + } + + /** + * Download dashboard report (downloadDashboardReport) + * Generate and download a report from the specified dashboard. The request payload is a JSON object with params of report. For example: ```json { \"type\": \"pdf\", \"timezone\": \"Europe/Kiev\", \"timewindow\": { \"displayValue\": \"\", \"hideInterval\": false, \"hideLastInterval\": false, \"hideQuickInterval\": false, \"hideAggregation\": false, \"hideAggInterval\": false, \"hideTimezone\": false, \"selectedTab\": 0, \"realtime\": { \"realtimeType\": 0, \"interval\": 1000, \"timewindowMs\": 60000, \"quickInterval\": \"CURRENT_DAY\" }, \"history\": { \"historyType\": 0, \"interval\": 1000, \"timewindowMs\": 60000, \"fixedTimewindow\": { \"startTimeMs\": 1703687976592, \"endTimeMs\": 1703774376592 }, \"quickInterval\": \"CURRENT_DAY\" }, \"aggregation\": { \"type\": \"AVG\", \"limit\": 25000 } }, \"state\": null } ``` Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. + * @param dashboardId A string value representing the dashboard id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param body (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<File> + * @throws ApiException if fails to make API call + */ + public ApiResponse downloadDashboardReportWithHttpInfo(@Nonnull String dashboardId, @Nullable Object body, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = downloadDashboardReportRequestBuilder(dashboardId, body, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("downloadDashboardReport", localVarResponse); } localVarResponseBody = ApiClient.getResponseBody(localVarResponse); if (localVarResponseBody == null) { @@ -14030,27 +14969,27 @@ private HttpRequest.Builder getAdminSettingsRequestBuilder(@Nonnull String key, } /** - * Get AI model by ID (getAiModelById) - * Fetches an AI model record by its `id`. Available for users with 'TENANT_ADMIN' authority. - * @param modelUuid ID of the AI model record (required) - * @return AiModel + * Get Agent Application Event (getAgentAppEventById) + * Fetches a single agent application event by id. Works for orphan events whose application has been deleted (application_id is nullable). Available for users with 'TENANT_ADMIN' authority. + * @param agentAppEventId A string value representing the agent app event id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @return AgentAppEvent * @throws ApiException if fails to make API call */ - public AiModel getAiModelById(@Nonnull UUID modelUuid) throws ApiException { - ApiResponse localVarResponse = getAiModelByIdWithHttpInfo(modelUuid, null); + public AgentAppEvent getAgentAppEventById(@Nonnull String agentAppEventId) throws ApiException { + ApiResponse localVarResponse = getAgentAppEventByIdWithHttpInfo(agentAppEventId, null); return localVarResponse.getData(); } /** - * Get AI model by ID (getAiModelById) - * Fetches an AI model record by its `id`. Available for users with 'TENANT_ADMIN' authority. - * @param modelUuid ID of the AI model record (required) + * Get Agent Application Event (getAgentAppEventById) + * Fetches a single agent application event by id. Works for orphan events whose application has been deleted (application_id is nullable). Available for users with 'TENANT_ADMIN' authority. + * @param agentAppEventId A string value representing the agent app event id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) * @param headers Optional headers to include in the request - * @return ApiResponse<AiModel> + * @return ApiResponse<AgentAppEvent> * @throws ApiException if fails to make API call */ - public ApiResponse getAiModelByIdWithHttpInfo(@Nonnull UUID modelUuid, Map headers) throws ApiException { - HttpRequest.Builder localVarRequestBuilder = getAiModelByIdRequestBuilder(modelUuid, headers); + public ApiResponse getAgentAppEventByIdWithHttpInfo(@Nonnull String agentAppEventId, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getAgentAppEventByIdRequestBuilder(agentAppEventId, headers); try { HttpResponse localVarResponse = memberVarHttpClient.send( localVarRequestBuilder.build(), @@ -14061,15 +15000,15 @@ public ApiResponse getAiModelByIdWithHttpInfo(@Nonnull UUID modelUuid, InputStream localVarResponseBody = null; try { if (localVarResponse.statusCode()/ 100 != 2) { - throw getApiException("getAiModelById", localVarResponse); + throw getApiException("getAgentAppEventById", localVarResponse); } localVarResponseBody = ApiClient.getResponseBody(localVarResponse); if (localVarResponseBody == null) { - return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); } String responseBody = new String(localVarResponseBody.readAllBytes()); - AiModel responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); - return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + AgentAppEvent responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); } finally { if (localVarResponseBody != null) { localVarResponseBody.close(); @@ -14084,14 +15023,14 @@ public ApiResponse getAiModelByIdWithHttpInfo(@Nonnull UUID modelUuid, } } - private HttpRequest.Builder getAiModelByIdRequestBuilder(@Nonnull UUID modelUuid, Map headers) throws ApiException { - // verify the required parameter 'modelUuid' is set - if (modelUuid == null) { - throw new ApiException(400, "Missing the required parameter 'modelUuid' when calling getAiModelById"); + private HttpRequest.Builder getAgentAppEventByIdRequestBuilder(@Nonnull String agentAppEventId, Map headers) throws ApiException { + // verify the required parameter 'agentAppEventId' is set + if (agentAppEventId == null) { + throw new ApiException(400, "Missing the required parameter 'agentAppEventId' when calling getAgentAppEventById"); } HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); - String localVarPath = "/api/ai/model/{modelUuid}" - .replace("{modelUuid}", ApiClient.urlEncode(modelUuid.toString())); + String localVarPath = "/api/agent/app/event/{agentAppEventId}" + .replace("{agentAppEventId}", ApiClient.urlEncode(agentAppEventId.toString())); localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); localVarRequestBuilder.header("Accept", "application/json"); localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); @@ -14107,35 +15046,41 @@ private HttpRequest.Builder getAiModelByIdRequestBuilder(@Nonnull UUID modelUuid } /** - * Get AI models (getAiModels) - * Returns a page of AI models. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + * Get Agent App Event Infos by Agent Id (getAgentAppEventInfosByAgentId) + * Returns a page of agent application events for all applications belonging to the specified agent, enriched with the application name for each event. Supports optional filtering by action type and status, and text search over the application name. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + * @param agentId A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) * @param pageSize Maximum amount of entities in a one page (required) * @param page Sequence number of page starting from 0 (required) - * @param textSearch The case insensitive 'substring' filter based on the AI model name, provider and model ID. (optional) + * @param textSearch Optional text value to match against the application name (optional) * @param sortProperty Property of entity to sort by (optional) * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) - * @return PageDataAiModel + * @param actionType Optional filter by event action type (optional) + * @param processingStatus Optional filter by event status (optional) + * @return PageDataAgentAppEventInfo * @throws ApiException if fails to make API call */ - public PageDataAiModel getAiModels(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder) throws ApiException { - ApiResponse localVarResponse = getAiModelsWithHttpInfo(pageSize, page, textSearch, sortProperty, sortOrder, null); + public PageDataAgentAppEventInfo getAgentAppEventInfosByAgentId(@Nonnull String agentId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder, @Nullable AgentAppEventActionType actionType, @Nullable AgentProcessingStatus processingStatus) throws ApiException { + ApiResponse localVarResponse = getAgentAppEventInfosByAgentIdWithHttpInfo(agentId, pageSize, page, textSearch, sortProperty, sortOrder, actionType, processingStatus, null); return localVarResponse.getData(); } /** - * Get AI models (getAiModels) - * Returns a page of AI models. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + * Get Agent App Event Infos by Agent Id (getAgentAppEventInfosByAgentId) + * Returns a page of agent application events for all applications belonging to the specified agent, enriched with the application name for each event. Supports optional filtering by action type and status, and text search over the application name. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + * @param agentId A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) * @param pageSize Maximum amount of entities in a one page (required) * @param page Sequence number of page starting from 0 (required) - * @param textSearch The case insensitive 'substring' filter based on the AI model name, provider and model ID. (optional) + * @param textSearch Optional text value to match against the application name (optional) * @param sortProperty Property of entity to sort by (optional) * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) + * @param actionType Optional filter by event action type (optional) + * @param processingStatus Optional filter by event status (optional) * @param headers Optional headers to include in the request - * @return ApiResponse<PageDataAiModel> + * @return ApiResponse<PageDataAgentAppEventInfo> * @throws ApiException if fails to make API call */ - public ApiResponse getAiModelsWithHttpInfo(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { - HttpRequest.Builder localVarRequestBuilder = getAiModelsRequestBuilder(pageSize, page, textSearch, sortProperty, sortOrder, headers); + public ApiResponse getAgentAppEventInfosByAgentIdWithHttpInfo(@Nonnull String agentId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder, @Nullable AgentAppEventActionType actionType, @Nullable AgentProcessingStatus processingStatus, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getAgentAppEventInfosByAgentIdRequestBuilder(agentId, pageSize, page, textSearch, sortProperty, sortOrder, actionType, processingStatus, headers); try { HttpResponse localVarResponse = memberVarHttpClient.send( localVarRequestBuilder.build(), @@ -14146,15 +15091,15 @@ public ApiResponse getAiModelsWithHttpInfo(@Nonnull Integer pag InputStream localVarResponseBody = null; try { if (localVarResponse.statusCode()/ 100 != 2) { - throw getApiException("getAiModels", localVarResponse); + throw getApiException("getAgentAppEventInfosByAgentId", localVarResponse); } localVarResponseBody = ApiClient.getResponseBody(localVarResponse); if (localVarResponseBody == null) { - return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); } String responseBody = new String(localVarResponseBody.readAllBytes()); - PageDataAiModel responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); - return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + PageDataAgentAppEventInfo responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); } finally { if (localVarResponseBody != null) { localVarResponseBody.close(); @@ -14169,17 +15114,22 @@ public ApiResponse getAiModelsWithHttpInfo(@Nonnull Integer pag } } - private HttpRequest.Builder getAiModelsRequestBuilder(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { + private HttpRequest.Builder getAgentAppEventInfosByAgentIdRequestBuilder(@Nonnull String agentId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder, @Nullable AgentAppEventActionType actionType, @Nullable AgentProcessingStatus processingStatus, Map headers) throws ApiException { + // verify the required parameter 'agentId' is set + if (agentId == null) { + throw new ApiException(400, "Missing the required parameter 'agentId' when calling getAgentAppEventInfosByAgentId"); + } // verify the required parameter 'pageSize' is set if (pageSize == null) { - throw new ApiException(400, "Missing the required parameter 'pageSize' when calling getAiModels"); + throw new ApiException(400, "Missing the required parameter 'pageSize' when calling getAgentAppEventInfosByAgentId"); } // verify the required parameter 'page' is set if (page == null) { - throw new ApiException(400, "Missing the required parameter 'page' when calling getAiModels"); + throw new ApiException(400, "Missing the required parameter 'page' when calling getAgentAppEventInfosByAgentId"); } HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); - String localVarPath = "/api/ai/model"; + String localVarPath = "/api/agent/{agentId}/eventInfos" + .replace("{agentId}", ApiClient.urlEncode(agentId.toString())); List localVarQueryParams = new ArrayList<>(); StringJoiner localVarQueryStringJoiner = new StringJoiner("&"); String localVarQueryParameterBaseName; @@ -14193,6 +15143,10 @@ private HttpRequest.Builder getAiModelsRequestBuilder(@Nonnull Integer pageSize, localVarQueryParams.addAll(ApiClient.parameterToPairs("sortProperty", sortProperty)); localVarQueryParameterBaseName = "sortOrder"; localVarQueryParams.addAll(ApiClient.parameterToPairs("sortOrder", sortOrder)); + localVarQueryParameterBaseName = "actionType"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("actionType", actionType)); + localVarQueryParameterBaseName = "processingStatus"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("processingStatus", processingStatus)); if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) { StringJoiner queryJoiner = new StringJoiner("&"); localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); @@ -14217,27 +15171,41 @@ private HttpRequest.Builder getAiModelsRequestBuilder(@Nonnull Integer pageSize, } /** - * Get Alarm (getAlarmById) - * Fetch the Alarm object based on the provided Alarm Id. Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities). - * @param alarmId A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) - * @return Alarm + * Get Agent Application Events (getAgentAppEvents) + * Returns a page of events for the specified agent application. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + * @param agentApplicationId A string value representing the agent application id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param pageSize Maximum amount of entities in a one page (required) + * @param page Sequence number of page starting from 0 (required) + * @param textSearch Optional case-insensitive substring matched against the event action type and processing status (optional) + * @param actionType Optional action type filter (optional) + * @param processingStatus Optional processing status filter (optional) + * @param sortProperty Property of entity to sort by (optional) + * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) + * @return PageDataAgentAppEvent * @throws ApiException if fails to make API call */ - public Alarm getAlarmById(@Nonnull String alarmId) throws ApiException { - ApiResponse localVarResponse = getAlarmByIdWithHttpInfo(alarmId, null); + public PageDataAgentAppEvent getAgentAppEvents(@Nonnull String agentApplicationId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable AgentAppEventActionType actionType, @Nullable AgentProcessingStatus processingStatus, @Nullable String sortProperty, @Nullable String sortOrder) throws ApiException { + ApiResponse localVarResponse = getAgentAppEventsWithHttpInfo(agentApplicationId, pageSize, page, textSearch, actionType, processingStatus, sortProperty, sortOrder, null); return localVarResponse.getData(); } /** - * Get Alarm (getAlarmById) - * Fetch the Alarm object based on the provided Alarm Id. Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities). - * @param alarmId A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * Get Agent Application Events (getAgentAppEvents) + * Returns a page of events for the specified agent application. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + * @param agentApplicationId A string value representing the agent application id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param pageSize Maximum amount of entities in a one page (required) + * @param page Sequence number of page starting from 0 (required) + * @param textSearch Optional case-insensitive substring matched against the event action type and processing status (optional) + * @param actionType Optional action type filter (optional) + * @param processingStatus Optional processing status filter (optional) + * @param sortProperty Property of entity to sort by (optional) + * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) * @param headers Optional headers to include in the request - * @return ApiResponse<Alarm> + * @return ApiResponse<PageDataAgentAppEvent> * @throws ApiException if fails to make API call */ - public ApiResponse getAlarmByIdWithHttpInfo(@Nonnull String alarmId, Map headers) throws ApiException { - HttpRequest.Builder localVarRequestBuilder = getAlarmByIdRequestBuilder(alarmId, headers); + public ApiResponse getAgentAppEventsWithHttpInfo(@Nonnull String agentApplicationId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable AgentAppEventActionType actionType, @Nullable AgentProcessingStatus processingStatus, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getAgentAppEventsRequestBuilder(agentApplicationId, pageSize, page, textSearch, actionType, processingStatus, sortProperty, sortOrder, headers); try { HttpResponse localVarResponse = memberVarHttpClient.send( localVarRequestBuilder.build(), @@ -14248,15 +15216,15 @@ public ApiResponse getAlarmByIdWithHttpInfo(@Nonnull String alarmId, Map< InputStream localVarResponseBody = null; try { if (localVarResponse.statusCode()/ 100 != 2) { - throw getApiException("getAlarmById", localVarResponse); + throw getApiException("getAgentAppEvents", localVarResponse); } localVarResponseBody = ApiClient.getResponseBody(localVarResponse); if (localVarResponseBody == null) { - return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); } String responseBody = new String(localVarResponseBody.readAllBytes()); - Alarm responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); - return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + PageDataAgentAppEvent responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); } finally { if (localVarResponseBody != null) { localVarResponseBody.close(); @@ -14271,15 +15239,49 @@ public ApiResponse getAlarmByIdWithHttpInfo(@Nonnull String alarmId, Map< } } - private HttpRequest.Builder getAlarmByIdRequestBuilder(@Nonnull String alarmId, Map headers) throws ApiException { - // verify the required parameter 'alarmId' is set - if (alarmId == null) { - throw new ApiException(400, "Missing the required parameter 'alarmId' when calling getAlarmById"); + private HttpRequest.Builder getAgentAppEventsRequestBuilder(@Nonnull String agentApplicationId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable AgentAppEventActionType actionType, @Nullable AgentProcessingStatus processingStatus, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { + // verify the required parameter 'agentApplicationId' is set + if (agentApplicationId == null) { + throw new ApiException(400, "Missing the required parameter 'agentApplicationId' when calling getAgentAppEvents"); + } + // verify the required parameter 'pageSize' is set + if (pageSize == null) { + throw new ApiException(400, "Missing the required parameter 'pageSize' when calling getAgentAppEvents"); + } + // verify the required parameter 'page' is set + if (page == null) { + throw new ApiException(400, "Missing the required parameter 'page' when calling getAgentAppEvents"); } HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); - String localVarPath = "/api/alarm/{alarmId}" - .replace("{alarmId}", ApiClient.urlEncode(alarmId.toString())); - localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + String localVarPath = "/api/agent/app/{agentApplicationId}/events" + .replace("{agentApplicationId}", ApiClient.urlEncode(agentApplicationId.toString())); + List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "pageSize"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("pageSize", pageSize)); + localVarQueryParameterBaseName = "page"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("page", page)); + localVarQueryParameterBaseName = "textSearch"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("textSearch", textSearch)); + localVarQueryParameterBaseName = "actionType"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("actionType", actionType)); + localVarQueryParameterBaseName = "processingStatus"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("processingStatus", processingStatus)); + localVarQueryParameterBaseName = "sortProperty"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("sortProperty", sortProperty)); + localVarQueryParameterBaseName = "sortOrder"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("sortOrder", sortOrder)); + if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) { + StringJoiner queryJoiner = new StringJoiner("&"); + localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryStringJoiner.toString()); + } + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); + } else { + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + } localVarRequestBuilder.header("Accept", "application/json"); localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); if (memberVarReadTimeout != null) { @@ -14294,35 +15296,37 @@ private HttpRequest.Builder getAlarmByIdRequestBuilder(@Nonnull String alarmId, } /** - * Get Alarm comments (getAlarmComments) - * Returns a page of alarm comments for specified alarm. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. - * @param alarmId A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * Get Agent App Events by Agent Id (getAgentAppEventsByAgentId) + * Returns a page of agent application events for all applications belonging to the specified agent. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + * @param agentId A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) * @param pageSize Maximum amount of entities in a one page (required) * @param page Sequence number of page starting from 0 (required) + * @param textSearch Optional String value reserved for future event filtering (optional) * @param sortProperty Property of entity to sort by (optional) * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) - * @return PageDataAlarmCommentInfo + * @return PageDataAgentAppEvent * @throws ApiException if fails to make API call */ - public PageDataAlarmCommentInfo getAlarmComments(@Nonnull String alarmId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String sortProperty, @Nullable String sortOrder) throws ApiException { - ApiResponse localVarResponse = getAlarmCommentsWithHttpInfo(alarmId, pageSize, page, sortProperty, sortOrder, null); + public PageDataAgentAppEvent getAgentAppEventsByAgentId(@Nonnull String agentId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder) throws ApiException { + ApiResponse localVarResponse = getAgentAppEventsByAgentIdWithHttpInfo(agentId, pageSize, page, textSearch, sortProperty, sortOrder, null); return localVarResponse.getData(); } /** - * Get Alarm comments (getAlarmComments) - * Returns a page of alarm comments for specified alarm. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. - * @param alarmId A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * Get Agent App Events by Agent Id (getAgentAppEventsByAgentId) + * Returns a page of agent application events for all applications belonging to the specified agent. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + * @param agentId A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) * @param pageSize Maximum amount of entities in a one page (required) * @param page Sequence number of page starting from 0 (required) + * @param textSearch Optional String value reserved for future event filtering (optional) * @param sortProperty Property of entity to sort by (optional) * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) * @param headers Optional headers to include in the request - * @return ApiResponse<PageDataAlarmCommentInfo> + * @return ApiResponse<PageDataAgentAppEvent> * @throws ApiException if fails to make API call */ - public ApiResponse getAlarmCommentsWithHttpInfo(@Nonnull String alarmId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { - HttpRequest.Builder localVarRequestBuilder = getAlarmCommentsRequestBuilder(alarmId, pageSize, page, sortProperty, sortOrder, headers); + public ApiResponse getAgentAppEventsByAgentIdWithHttpInfo(@Nonnull String agentId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getAgentAppEventsByAgentIdRequestBuilder(agentId, pageSize, page, textSearch, sortProperty, sortOrder, headers); try { HttpResponse localVarResponse = memberVarHttpClient.send( localVarRequestBuilder.build(), @@ -14333,15 +15337,15 @@ public ApiResponse getAlarmCommentsWithHttpInfo(@Nonnu InputStream localVarResponseBody = null; try { if (localVarResponse.statusCode()/ 100 != 2) { - throw getApiException("getAlarmComments", localVarResponse); + throw getApiException("getAgentAppEventsByAgentId", localVarResponse); } localVarResponseBody = ApiClient.getResponseBody(localVarResponse); if (localVarResponseBody == null) { - return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); } String responseBody = new String(localVarResponseBody.readAllBytes()); - PageDataAlarmCommentInfo responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); - return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + PageDataAgentAppEvent responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); } finally { if (localVarResponseBody != null) { localVarResponseBody.close(); @@ -14356,22 +15360,22 @@ public ApiResponse getAlarmCommentsWithHttpInfo(@Nonnu } } - private HttpRequest.Builder getAlarmCommentsRequestBuilder(@Nonnull String alarmId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { - // verify the required parameter 'alarmId' is set - if (alarmId == null) { - throw new ApiException(400, "Missing the required parameter 'alarmId' when calling getAlarmComments"); + private HttpRequest.Builder getAgentAppEventsByAgentIdRequestBuilder(@Nonnull String agentId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { + // verify the required parameter 'agentId' is set + if (agentId == null) { + throw new ApiException(400, "Missing the required parameter 'agentId' when calling getAgentAppEventsByAgentId"); } // verify the required parameter 'pageSize' is set if (pageSize == null) { - throw new ApiException(400, "Missing the required parameter 'pageSize' when calling getAlarmComments"); + throw new ApiException(400, "Missing the required parameter 'pageSize' when calling getAgentAppEventsByAgentId"); } // verify the required parameter 'page' is set if (page == null) { - throw new ApiException(400, "Missing the required parameter 'page' when calling getAlarmComments"); + throw new ApiException(400, "Missing the required parameter 'page' when calling getAgentAppEventsByAgentId"); } HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); - String localVarPath = "/api/alarm/{alarmId}/comment" - .replace("{alarmId}", ApiClient.urlEncode(alarmId.toString())); + String localVarPath = "/api/agent/{agentId}/events" + .replace("{agentId}", ApiClient.urlEncode(agentId.toString())); List localVarQueryParams = new ArrayList<>(); StringJoiner localVarQueryStringJoiner = new StringJoiner("&"); String localVarQueryParameterBaseName; @@ -14379,6 +15383,8 @@ private HttpRequest.Builder getAlarmCommentsRequestBuilder(@Nonnull String alarm localVarQueryParams.addAll(ApiClient.parameterToPairs("pageSize", pageSize)); localVarQueryParameterBaseName = "page"; localVarQueryParams.addAll(ApiClient.parameterToPairs("page", page)); + localVarQueryParameterBaseName = "textSearch"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("textSearch", textSearch)); localVarQueryParameterBaseName = "sortProperty"; localVarQueryParams.addAll(ApiClient.parameterToPairs("sortProperty", sortProperty)); localVarQueryParameterBaseName = "sortOrder"; @@ -14407,27 +15413,27 @@ private HttpRequest.Builder getAlarmCommentsRequestBuilder(@Nonnull String alarm } /** - * Get Alarm Info (getAlarmInfoById) - * Fetch the Alarm Info object based on the provided Alarm Id. Alarm Info is an extension of the default Alarm object that also contains name of the alarm originator. Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities). - * @param alarmId A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) - * @return AlarmInfo + * Get Agent Application Profile (getAgentAppProfileById) + * Fetch the Agent Application Profile by Id. Available for users with 'TENANT_ADMIN' authority. + * @param profileId Profile Id (required) + * @return AgentAppProfile * @throws ApiException if fails to make API call */ - public AlarmInfo getAlarmInfoById(@Nonnull String alarmId) throws ApiException { - ApiResponse localVarResponse = getAlarmInfoByIdWithHttpInfo(alarmId, null); + public AgentAppProfile getAgentAppProfileById(@Nonnull String profileId) throws ApiException { + ApiResponse localVarResponse = getAgentAppProfileByIdWithHttpInfo(profileId, null); return localVarResponse.getData(); } /** - * Get Alarm Info (getAlarmInfoById) - * Fetch the Alarm Info object based on the provided Alarm Id. Alarm Info is an extension of the default Alarm object that also contains name of the alarm originator. Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities). - * @param alarmId A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * Get Agent Application Profile (getAgentAppProfileById) + * Fetch the Agent Application Profile by Id. Available for users with 'TENANT_ADMIN' authority. + * @param profileId Profile Id (required) * @param headers Optional headers to include in the request - * @return ApiResponse<AlarmInfo> + * @return ApiResponse<AgentAppProfile> * @throws ApiException if fails to make API call */ - public ApiResponse getAlarmInfoByIdWithHttpInfo(@Nonnull String alarmId, Map headers) throws ApiException { - HttpRequest.Builder localVarRequestBuilder = getAlarmInfoByIdRequestBuilder(alarmId, headers); + public ApiResponse getAgentAppProfileByIdWithHttpInfo(@Nonnull String profileId, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getAgentAppProfileByIdRequestBuilder(profileId, headers); try { HttpResponse localVarResponse = memberVarHttpClient.send( localVarRequestBuilder.build(), @@ -14438,15 +15444,15 @@ public ApiResponse getAlarmInfoByIdWithHttpInfo(@Nonnull String alarm InputStream localVarResponseBody = null; try { if (localVarResponse.statusCode()/ 100 != 2) { - throw getApiException("getAlarmInfoById", localVarResponse); + throw getApiException("getAgentAppProfileById", localVarResponse); } localVarResponseBody = ApiClient.getResponseBody(localVarResponse); if (localVarResponseBody == null) { - return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); } String responseBody = new String(localVarResponseBody.readAllBytes()); - AlarmInfo responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); - return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + AgentAppProfile responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); } finally { if (localVarResponseBody != null) { localVarResponseBody.close(); @@ -14461,14 +15467,14 @@ public ApiResponse getAlarmInfoByIdWithHttpInfo(@Nonnull String alarm } } - private HttpRequest.Builder getAlarmInfoByIdRequestBuilder(@Nonnull String alarmId, Map headers) throws ApiException { - // verify the required parameter 'alarmId' is set - if (alarmId == null) { - throw new ApiException(400, "Missing the required parameter 'alarmId' when calling getAlarmInfoById"); + private HttpRequest.Builder getAgentAppProfileByIdRequestBuilder(@Nonnull String profileId, Map headers) throws ApiException { + // verify the required parameter 'profileId' is set + if (profileId == null) { + throw new ApiException(400, "Missing the required parameter 'profileId' when calling getAgentAppProfileById"); } HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); - String localVarPath = "/api/alarm/info/{alarmId}" - .replace("{alarmId}", ApiClient.urlEncode(alarmId.toString())); + String localVarPath = "/api/agent/app/profile/{profileId}" + .replace("{profileId}", ApiClient.urlEncode(profileId.toString())); localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); localVarRequestBuilder.header("Accept", "application/json"); localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); @@ -14484,27 +15490,27 @@ private HttpRequest.Builder getAlarmInfoByIdRequestBuilder(@Nonnull String alarm } /** - * Get Alarm Rule (getAlarmRuleById) - * Fetch the Alarm Rule object based on the provided Alarm Rule Id. Available for users with 'TENANT_ADMIN' authority. - * @param alarmRuleId (required) - * @return AlarmRuleDefinition + * Get Agent Application Profile Info (getAgentAppProfileInfoById) + * Fetch the Agent Application Profile Info by Id. Readable by any tenant admin without AGENT_APP_PROFILE permission, so agent/application screens can resolve the linked profile. Returns the full profile, config and arguments included - an application profile carries deployment configuration rather than credentials, so it is not gated like other profiles. Available for users with 'TENANT_ADMIN' authority. + * @param profileId Profile Id (required) + * @return AgentAppProfileInfo * @throws ApiException if fails to make API call */ - public AlarmRuleDefinition getAlarmRuleById(@Nonnull String alarmRuleId) throws ApiException { - ApiResponse localVarResponse = getAlarmRuleByIdWithHttpInfo(alarmRuleId, null); + public AgentAppProfileInfo getAgentAppProfileInfoById(@Nonnull String profileId) throws ApiException { + ApiResponse localVarResponse = getAgentAppProfileInfoByIdWithHttpInfo(profileId, null); return localVarResponse.getData(); } /** - * Get Alarm Rule (getAlarmRuleById) - * Fetch the Alarm Rule object based on the provided Alarm Rule Id. Available for users with 'TENANT_ADMIN' authority. - * @param alarmRuleId (required) + * Get Agent Application Profile Info (getAgentAppProfileInfoById) + * Fetch the Agent Application Profile Info by Id. Readable by any tenant admin without AGENT_APP_PROFILE permission, so agent/application screens can resolve the linked profile. Returns the full profile, config and arguments included - an application profile carries deployment configuration rather than credentials, so it is not gated like other profiles. Available for users with 'TENANT_ADMIN' authority. + * @param profileId Profile Id (required) * @param headers Optional headers to include in the request - * @return ApiResponse<AlarmRuleDefinition> + * @return ApiResponse<AgentAppProfileInfo> * @throws ApiException if fails to make API call */ - public ApiResponse getAlarmRuleByIdWithHttpInfo(@Nonnull String alarmRuleId, Map headers) throws ApiException { - HttpRequest.Builder localVarRequestBuilder = getAlarmRuleByIdRequestBuilder(alarmRuleId, headers); + public ApiResponse getAgentAppProfileInfoByIdWithHttpInfo(@Nonnull String profileId, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getAgentAppProfileInfoByIdRequestBuilder(profileId, headers); try { HttpResponse localVarResponse = memberVarHttpClient.send( localVarRequestBuilder.build(), @@ -14515,15 +15521,15 @@ public ApiResponse getAlarmRuleByIdWithHttpInfo(@Nonnull St InputStream localVarResponseBody = null; try { if (localVarResponse.statusCode()/ 100 != 2) { - throw getApiException("getAlarmRuleById", localVarResponse); + throw getApiException("getAgentAppProfileInfoById", localVarResponse); } localVarResponseBody = ApiClient.getResponseBody(localVarResponse); if (localVarResponseBody == null) { - return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); } String responseBody = new String(localVarResponseBody.readAllBytes()); - AlarmRuleDefinition responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); - return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + AgentAppProfileInfo responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); } finally { if (localVarResponseBody != null) { localVarResponseBody.close(); @@ -14538,14 +15544,14 @@ public ApiResponse getAlarmRuleByIdWithHttpInfo(@Nonnull St } } - private HttpRequest.Builder getAlarmRuleByIdRequestBuilder(@Nonnull String alarmRuleId, Map headers) throws ApiException { - // verify the required parameter 'alarmRuleId' is set - if (alarmRuleId == null) { - throw new ApiException(400, "Missing the required parameter 'alarmRuleId' when calling getAlarmRuleById"); + private HttpRequest.Builder getAgentAppProfileInfoByIdRequestBuilder(@Nonnull String profileId, Map headers) throws ApiException { + // verify the required parameter 'profileId' is set + if (profileId == null) { + throw new ApiException(400, "Missing the required parameter 'profileId' when calling getAgentAppProfileInfoById"); } HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); - String localVarPath = "/api/alarm/rule/{alarmRuleId}" - .replace("{alarmRuleId}", ApiClient.urlEncode(alarmRuleId.toString())); + String localVarPath = "/api/agent/app/profile/info/{profileId}" + .replace("{profileId}", ApiClient.urlEncode(profileId.toString())); localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); localVarRequestBuilder.header("Accept", "application/json"); localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); @@ -14561,33 +15567,27 @@ private HttpRequest.Builder getAlarmRuleByIdRequestBuilder(@Nonnull String alarm } /** - * Get alarm rule names (getAlarmRuleNames) - * Fetch the list of alarm rule names. Available for users with 'TENANT_ADMIN' authority. - * @param pageSize Maximum amount of entities in a one page (required) - * @param page Sequence number of page starting from 0 (required) - * @param textSearch The case insensitive 'substring' filter based on the calculated field name. (optional) - * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) - * @return PageDataString + * Get Agent Application Profiles by app type (getAgentAppProfilesByAppType) + * Returns a list of agent application profiles filtered by application type. Available for users with 'TENANT_ADMIN' authority. + * @param appType Application type, e.g. 'EDGE', 'GATEWAY', 'GENERIC' (required) + * @return List<AgentAppProfileInfo> * @throws ApiException if fails to make API call */ - public PageDataString getAlarmRuleNames(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortOrder) throws ApiException { - ApiResponse localVarResponse = getAlarmRuleNamesWithHttpInfo(pageSize, page, textSearch, sortOrder, null); + public List getAgentAppProfilesByAppType(@Nonnull AgentApplicationType appType) throws ApiException { + ApiResponse> localVarResponse = getAgentAppProfilesByAppTypeWithHttpInfo(appType, null); return localVarResponse.getData(); } /** - * Get alarm rule names (getAlarmRuleNames) - * Fetch the list of alarm rule names. Available for users with 'TENANT_ADMIN' authority. - * @param pageSize Maximum amount of entities in a one page (required) - * @param page Sequence number of page starting from 0 (required) - * @param textSearch The case insensitive 'substring' filter based on the calculated field name. (optional) - * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) + * Get Agent Application Profiles by app type (getAgentAppProfilesByAppType) + * Returns a list of agent application profiles filtered by application type. Available for users with 'TENANT_ADMIN' authority. + * @param appType Application type, e.g. 'EDGE', 'GATEWAY', 'GENERIC' (required) * @param headers Optional headers to include in the request - * @return ApiResponse<PageDataString> + * @return ApiResponse<List<AgentAppProfileInfo>> * @throws ApiException if fails to make API call */ - public ApiResponse getAlarmRuleNamesWithHttpInfo(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortOrder, Map headers) throws ApiException { - HttpRequest.Builder localVarRequestBuilder = getAlarmRuleNamesRequestBuilder(pageSize, page, textSearch, sortOrder, headers); + public ApiResponse> getAgentAppProfilesByAppTypeWithHttpInfo(@Nonnull AgentApplicationType appType, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getAgentAppProfilesByAppTypeRequestBuilder(appType, headers); try { HttpResponse localVarResponse = memberVarHttpClient.send( localVarRequestBuilder.build(), @@ -14598,15 +15598,15 @@ public ApiResponse getAlarmRuleNamesWithHttpInfo(@Nonnull Intege InputStream localVarResponseBody = null; try { if (localVarResponse.statusCode()/ 100 != 2) { - throw getApiException("getAlarmRuleNames", localVarResponse); + throw getApiException("getAgentAppProfilesByAppType", localVarResponse); } localVarResponseBody = ApiClient.getResponseBody(localVarResponse); if (localVarResponseBody == null) { - return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + return new ApiResponse>(localVarResponse.statusCode(), localVarResponse.headers().map(), null); } String responseBody = new String(localVarResponseBody.readAllBytes()); - PageDataString responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); - return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + List responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference>() {}); + return new ApiResponse>(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); } finally { if (localVarResponseBody != null) { localVarResponseBody.close(); @@ -14621,28 +15621,2608 @@ public ApiResponse getAlarmRuleNamesWithHttpInfo(@Nonnull Intege } } - private HttpRequest.Builder getAlarmRuleNamesRequestBuilder(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortOrder, Map headers) throws ApiException { - // verify the required parameter 'pageSize' is set - if (pageSize == null) { - throw new ApiException(400, "Missing the required parameter 'pageSize' when calling getAlarmRuleNames"); + private HttpRequest.Builder getAgentAppProfilesByAppTypeRequestBuilder(@Nonnull AgentApplicationType appType, Map headers) throws ApiException { + // verify the required parameter 'appType' is set + if (appType == null) { + throw new ApiException(400, "Missing the required parameter 'appType' when calling getAgentAppProfilesByAppType"); } - // verify the required parameter 'page' is set - if (page == null) { - throw new ApiException(400, "Missing the required parameter 'page' when calling getAlarmRuleNames"); + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/app/profiles/{appType}" + .replace("{appType}", ApiClient.urlEncode(appType.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Get Agent Application Profiles By Ids (getAgentAppProfilesByIds) + * Requested agent application profiles must be owned by tenant which is performing the request. Security check is performed to verify that the user has 'READ' permission for the entity (entities). + * @param agentAppProfileIds A list of agent application profile ids, separated by comma ',' (required) + * @return List<AgentAppProfile> + * @throws ApiException if fails to make API call + */ + public List getAgentAppProfilesByIds(@Nonnull List agentAppProfileIds) throws ApiException { + ApiResponse> localVarResponse = getAgentAppProfilesByIdsWithHttpInfo(agentAppProfileIds, null); + return localVarResponse.getData(); + } + + /** + * Get Agent Application Profiles By Ids (getAgentAppProfilesByIds) + * Requested agent application profiles must be owned by tenant which is performing the request. Security check is performed to verify that the user has 'READ' permission for the entity (entities). + * @param agentAppProfileIds A list of agent application profile ids, separated by comma ',' (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<List<AgentAppProfile>> + * @throws ApiException if fails to make API call + */ + public ApiResponse> getAgentAppProfilesByIdsWithHttpInfo(@Nonnull List agentAppProfileIds, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getAgentAppProfilesByIdsRequestBuilder(agentAppProfileIds, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getAgentAppProfilesByIds", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse>(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + List responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference>() {}); + return new ApiResponse>(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getAgentAppProfilesByIdsRequestBuilder(@Nonnull List agentAppProfileIds, Map headers) throws ApiException { + // verify the required parameter 'agentAppProfileIds' is set + if (agentAppProfileIds == null) { + throw new ApiException(400, "Missing the required parameter 'agentAppProfileIds' when calling getAgentAppProfilesByIds"); } HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); - String localVarPath = "/api/alarm/rules/names"; + String localVarPath = "/api/agent/app/profiles"; List localVarQueryParams = new ArrayList<>(); StringJoiner localVarQueryStringJoiner = new StringJoiner("&"); String localVarQueryParameterBaseName; - localVarQueryParameterBaseName = "pageSize"; - localVarQueryParams.addAll(ApiClient.parameterToPairs("pageSize", pageSize)); - localVarQueryParameterBaseName = "page"; - localVarQueryParams.addAll(ApiClient.parameterToPairs("page", page)); - localVarQueryParameterBaseName = "textSearch"; - localVarQueryParams.addAll(ApiClient.parameterToPairs("textSearch", textSearch)); - localVarQueryParameterBaseName = "sortOrder"; - localVarQueryParams.addAll(ApiClient.parameterToPairs("sortOrder", sortOrder)); + localVarQueryParameterBaseName = "agentAppProfileIds"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("multi", "agentAppProfileIds", agentAppProfileIds)); + if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) { + StringJoiner queryJoiner = new StringJoiner("&"); + localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryStringJoiner.toString()); + } + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); + } else { + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + } + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Get Agent App Template by current version (getAgentAppTemplateByCurrentVersion) + * Fetch the Agent App Template object based on the provided app type, config type, and current version. Matches the version exactly, including a floating tag used as a version such as the gateway 'latest' tag. Available for users with 'TENANT_ADMIN' authority. + * @param appType A string value representing the agent application type, e.g. 'EDGE', 'GATEWAY' (required) + * @param configType A string value representing the agent configuration type, e.g. 'DOCKER_COMPOSE' (required) + * @param currentVersion A string value representing the current version of the template, e.g. '1.0.0' (required) + * @return AgentAppTemplate + * @throws ApiException if fails to make API call + */ + public AgentAppTemplate getAgentAppTemplateByCurrentVersion(@Nonnull AgentApplicationType appType, @Nonnull AgentAppConfigType configType, @Nonnull String currentVersion) throws ApiException { + ApiResponse localVarResponse = getAgentAppTemplateByCurrentVersionWithHttpInfo(appType, configType, currentVersion, null); + return localVarResponse.getData(); + } + + /** + * Get Agent App Template by current version (getAgentAppTemplateByCurrentVersion) + * Fetch the Agent App Template object based on the provided app type, config type, and current version. Matches the version exactly, including a floating tag used as a version such as the gateway 'latest' tag. Available for users with 'TENANT_ADMIN' authority. + * @param appType A string value representing the agent application type, e.g. 'EDGE', 'GATEWAY' (required) + * @param configType A string value representing the agent configuration type, e.g. 'DOCKER_COMPOSE' (required) + * @param currentVersion A string value representing the current version of the template, e.g. '1.0.0' (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<AgentAppTemplate> + * @throws ApiException if fails to make API call + */ + public ApiResponse getAgentAppTemplateByCurrentVersionWithHttpInfo(@Nonnull AgentApplicationType appType, @Nonnull AgentAppConfigType configType, @Nonnull String currentVersion, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getAgentAppTemplateByCurrentVersionRequestBuilder(appType, configType, currentVersion, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getAgentAppTemplateByCurrentVersion", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + AgentAppTemplate responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getAgentAppTemplateByCurrentVersionRequestBuilder(@Nonnull AgentApplicationType appType, @Nonnull AgentAppConfigType configType, @Nonnull String currentVersion, Map headers) throws ApiException { + // verify the required parameter 'appType' is set + if (appType == null) { + throw new ApiException(400, "Missing the required parameter 'appType' when calling getAgentAppTemplateByCurrentVersion"); + } + // verify the required parameter 'configType' is set + if (configType == null) { + throw new ApiException(400, "Missing the required parameter 'configType' when calling getAgentAppTemplateByCurrentVersion"); + } + // verify the required parameter 'currentVersion' is set + if (currentVersion == null) { + throw new ApiException(400, "Missing the required parameter 'currentVersion' when calling getAgentAppTemplateByCurrentVersion"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/app/template/{appType}/{configType}/version/{currentVersion}" + .replace("{appType}", ApiClient.urlEncode(appType.toString())) + .replace("{configType}", ApiClient.urlEncode(configType.toString())) + .replace("{currentVersion}", ApiClient.urlEncode(currentVersion.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Get all Agent App Templates (getAgentAppTemplates) + * Returns a list of all agent app templates available for the current tenant. Available for users with 'TENANT_ADMIN' authority. + * @return List<AgentAppTemplate> + * @throws ApiException if fails to make API call + */ + public List getAgentAppTemplates() throws ApiException { + ApiResponse> localVarResponse = getAgentAppTemplatesWithHttpInfo(null); + return localVarResponse.getData(); + } + + /** + * Get all Agent App Templates (getAgentAppTemplates) + * Returns a list of all agent app templates available for the current tenant. Available for users with 'TENANT_ADMIN' authority. + * @param headers Optional headers to include in the request + * @return ApiResponse<List<AgentAppTemplate>> + * @throws ApiException if fails to make API call + */ + public ApiResponse> getAgentAppTemplatesWithHttpInfo(Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getAgentAppTemplatesRequestBuilder(headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getAgentAppTemplates", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse>(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + List responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference>() {}); + return new ApiResponse>(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getAgentAppTemplatesRequestBuilder(Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/app/templates"; + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Get Agent App Templates by type (getAgentAppTemplatesByAppType) + * Returns a list of agent app templates filtered by application type and config type. Available for users with 'TENANT_ADMIN' authority. + * @param appType A string value representing the agent application type, e.g. 'EDGE', 'GATEWAY' (required) + * @param configType A string value representing the agent configuration type, e.g. 'DOCKER_COMPOSE' (required) + * @return List<AgentAppTemplate> + * @throws ApiException if fails to make API call + */ + public List getAgentAppTemplatesByAppType(@Nonnull AgentApplicationType appType, @Nonnull AgentAppConfigType configType) throws ApiException { + ApiResponse> localVarResponse = getAgentAppTemplatesByAppTypeWithHttpInfo(appType, configType, null); + return localVarResponse.getData(); + } + + /** + * Get Agent App Templates by type (getAgentAppTemplatesByAppType) + * Returns a list of agent app templates filtered by application type and config type. Available for users with 'TENANT_ADMIN' authority. + * @param appType A string value representing the agent application type, e.g. 'EDGE', 'GATEWAY' (required) + * @param configType A string value representing the agent configuration type, e.g. 'DOCKER_COMPOSE' (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<List<AgentAppTemplate>> + * @throws ApiException if fails to make API call + */ + public ApiResponse> getAgentAppTemplatesByAppTypeWithHttpInfo(@Nonnull AgentApplicationType appType, @Nonnull AgentAppConfigType configType, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getAgentAppTemplatesByAppTypeRequestBuilder(appType, configType, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getAgentAppTemplatesByAppType", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse>(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + List responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference>() {}); + return new ApiResponse>(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getAgentAppTemplatesByAppTypeRequestBuilder(@Nonnull AgentApplicationType appType, @Nonnull AgentAppConfigType configType, Map headers) throws ApiException { + // verify the required parameter 'appType' is set + if (appType == null) { + throw new ApiException(400, "Missing the required parameter 'appType' when calling getAgentAppTemplatesByAppType"); + } + // verify the required parameter 'configType' is set + if (configType == null) { + throw new ApiException(400, "Missing the required parameter 'configType' when calling getAgentAppTemplatesByAppType"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/app/templates/{appType}/{configType}" + .replace("{appType}", ApiClient.urlEncode(appType.toString())) + .replace("{configType}", ApiClient.urlEncode(configType.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Get Agent Application Units (getAgentAppUnits) + * Returns a page of units (containers, volumes, networks) for the specified agent application. Live per-unit data such as `image` and `state` lives in server-scope attributes on each unit and should be fetched separately via the standard telemetry/attributes API.You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + * @param agentApplicationId A string value representing the agent application id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param pageSize Maximum amount of entities in a one page (required) + * @param page Sequence number of page starting from 0 (required) + * @param textSearch Case-insensitive substring match against the unit identifier (optional) + * @param type Optional unit type filter (CONTAINER, VOLUME, NETWORK) (optional) + * @param sortProperty Property of entity to sort by (optional) + * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) + * @return PageDataAgentAppUnit + * @throws ApiException if fails to make API call + */ + public PageDataAgentAppUnit getAgentAppUnits(@Nonnull String agentApplicationId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable AgentAppUnitType type, @Nullable String sortProperty, @Nullable String sortOrder) throws ApiException { + ApiResponse localVarResponse = getAgentAppUnitsWithHttpInfo(agentApplicationId, pageSize, page, textSearch, type, sortProperty, sortOrder, null); + return localVarResponse.getData(); + } + + /** + * Get Agent Application Units (getAgentAppUnits) + * Returns a page of units (containers, volumes, networks) for the specified agent application. Live per-unit data such as `image` and `state` lives in server-scope attributes on each unit and should be fetched separately via the standard telemetry/attributes API.You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + * @param agentApplicationId A string value representing the agent application id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param pageSize Maximum amount of entities in a one page (required) + * @param page Sequence number of page starting from 0 (required) + * @param textSearch Case-insensitive substring match against the unit identifier (optional) + * @param type Optional unit type filter (CONTAINER, VOLUME, NETWORK) (optional) + * @param sortProperty Property of entity to sort by (optional) + * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) + * @param headers Optional headers to include in the request + * @return ApiResponse<PageDataAgentAppUnit> + * @throws ApiException if fails to make API call + */ + public ApiResponse getAgentAppUnitsWithHttpInfo(@Nonnull String agentApplicationId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable AgentAppUnitType type, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getAgentAppUnitsRequestBuilder(agentApplicationId, pageSize, page, textSearch, type, sortProperty, sortOrder, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getAgentAppUnits", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + PageDataAgentAppUnit responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getAgentAppUnitsRequestBuilder(@Nonnull String agentApplicationId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable AgentAppUnitType type, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { + // verify the required parameter 'agentApplicationId' is set + if (agentApplicationId == null) { + throw new ApiException(400, "Missing the required parameter 'agentApplicationId' when calling getAgentAppUnits"); + } + // verify the required parameter 'pageSize' is set + if (pageSize == null) { + throw new ApiException(400, "Missing the required parameter 'pageSize' when calling getAgentAppUnits"); + } + // verify the required parameter 'page' is set + if (page == null) { + throw new ApiException(400, "Missing the required parameter 'page' when calling getAgentAppUnits"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/app/{agentApplicationId}/units" + .replace("{agentApplicationId}", ApiClient.urlEncode(agentApplicationId.toString())); + List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "pageSize"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("pageSize", pageSize)); + localVarQueryParameterBaseName = "page"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("page", page)); + localVarQueryParameterBaseName = "textSearch"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("textSearch", textSearch)); + localVarQueryParameterBaseName = "type"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("type", type)); + localVarQueryParameterBaseName = "sortProperty"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("sortProperty", sortProperty)); + localVarQueryParameterBaseName = "sortOrder"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("sortOrder", sortOrder)); + if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) { + StringJoiner queryJoiner = new StringJoiner("&"); + localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryStringJoiner.toString()); + } + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); + } else { + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + } + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Get Agent Application (getAgentApplicationById) + * Fetch the Agent Application object based on the provided Agent Application Id. Available for users with 'TENANT_ADMIN' authority. + * @param agentApplicationId A string value representing the agent application id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @return AgentApplicationInfo + * @throws ApiException if fails to make API call + */ + public AgentApplicationInfo getAgentApplicationById(@Nonnull String agentApplicationId) throws ApiException { + ApiResponse localVarResponse = getAgentApplicationByIdWithHttpInfo(agentApplicationId, null); + return localVarResponse.getData(); + } + + /** + * Get Agent Application (getAgentApplicationById) + * Fetch the Agent Application object based on the provided Agent Application Id. Available for users with 'TENANT_ADMIN' authority. + * @param agentApplicationId A string value representing the agent application id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<AgentApplicationInfo> + * @throws ApiException if fails to make API call + */ + public ApiResponse getAgentApplicationByIdWithHttpInfo(@Nonnull String agentApplicationId, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getAgentApplicationByIdRequestBuilder(agentApplicationId, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getAgentApplicationById", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + AgentApplicationInfo responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getAgentApplicationByIdRequestBuilder(@Nonnull String agentApplicationId, Map headers) throws ApiException { + // verify the required parameter 'agentApplicationId' is set + if (agentApplicationId == null) { + throw new ApiException(400, "Missing the required parameter 'agentApplicationId' when calling getAgentApplicationById"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/app/{agentApplicationId}" + .replace("{agentApplicationId}", ApiClient.urlEncode(agentApplicationId.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Get Agent Application by Related Entity (getAgentApplicationByRelatedEntity) + * Returns the agent application linked to the specified entity. Available for users with 'TENANT_ADMIN' authority. + * @param entityType Entity type (required) + * @param entityId Entity id (required) + * @return AgentApplication + * @throws ApiException if fails to make API call + */ + public AgentApplication getAgentApplicationByRelatedEntity(@Nonnull String entityType, @Nonnull String entityId) throws ApiException { + ApiResponse localVarResponse = getAgentApplicationByRelatedEntityWithHttpInfo(entityType, entityId, null); + return localVarResponse.getData(); + } + + /** + * Get Agent Application by Related Entity (getAgentApplicationByRelatedEntity) + * Returns the agent application linked to the specified entity. Available for users with 'TENANT_ADMIN' authority. + * @param entityType Entity type (required) + * @param entityId Entity id (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<AgentApplication> + * @throws ApiException if fails to make API call + */ + public ApiResponse getAgentApplicationByRelatedEntityWithHttpInfo(@Nonnull String entityType, @Nonnull String entityId, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getAgentApplicationByRelatedEntityRequestBuilder(entityType, entityId, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getAgentApplicationByRelatedEntity", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + AgentApplication responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getAgentApplicationByRelatedEntityRequestBuilder(@Nonnull String entityType, @Nonnull String entityId, Map headers) throws ApiException { + // verify the required parameter 'entityType' is set + if (entityType == null) { + throw new ApiException(400, "Missing the required parameter 'entityType' when calling getAgentApplicationByRelatedEntity"); + } + // verify the required parameter 'entityId' is set + if (entityId == null) { + throw new ApiException(400, "Missing the required parameter 'entityId' when calling getAgentApplicationByRelatedEntity"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/apps/{entityType}/{entityId}" + .replace("{entityType}", ApiClient.urlEncode(entityType.toString())) + .replace("{entityId}", ApiClient.urlEncode(entityId.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Get Agent Applications by Agent Id (getAgentApplicationsByAgentId) + * Returns a page of agent applications that belong to the specified agent. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + * @param agentId A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param pageSize Maximum amount of entities in a one page (required) + * @param page Sequence number of page starting from 0 (required) + * @param textSearch Optional String value representing application name (optional) + * @param sortProperty Property of entity to sort by (optional) + * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) + * @return PageDataAgentApplicationInfo + * @throws ApiException if fails to make API call + */ + public PageDataAgentApplicationInfo getAgentApplicationsByAgentId(@Nonnull String agentId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder) throws ApiException { + ApiResponse localVarResponse = getAgentApplicationsByAgentIdWithHttpInfo(agentId, pageSize, page, textSearch, sortProperty, sortOrder, null); + return localVarResponse.getData(); + } + + /** + * Get Agent Applications by Agent Id (getAgentApplicationsByAgentId) + * Returns a page of agent applications that belong to the specified agent. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + * @param agentId A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param pageSize Maximum amount of entities in a one page (required) + * @param page Sequence number of page starting from 0 (required) + * @param textSearch Optional String value representing application name (optional) + * @param sortProperty Property of entity to sort by (optional) + * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) + * @param headers Optional headers to include in the request + * @return ApiResponse<PageDataAgentApplicationInfo> + * @throws ApiException if fails to make API call + */ + public ApiResponse getAgentApplicationsByAgentIdWithHttpInfo(@Nonnull String agentId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getAgentApplicationsByAgentIdRequestBuilder(agentId, pageSize, page, textSearch, sortProperty, sortOrder, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getAgentApplicationsByAgentId", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + PageDataAgentApplicationInfo responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getAgentApplicationsByAgentIdRequestBuilder(@Nonnull String agentId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { + // verify the required parameter 'agentId' is set + if (agentId == null) { + throw new ApiException(400, "Missing the required parameter 'agentId' when calling getAgentApplicationsByAgentId"); + } + // verify the required parameter 'pageSize' is set + if (pageSize == null) { + throw new ApiException(400, "Missing the required parameter 'pageSize' when calling getAgentApplicationsByAgentId"); + } + // verify the required parameter 'page' is set + if (page == null) { + throw new ApiException(400, "Missing the required parameter 'page' when calling getAgentApplicationsByAgentId"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/{agentId}/apps" + .replace("{agentId}", ApiClient.urlEncode(agentId.toString())); + List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "pageSize"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("pageSize", pageSize)); + localVarQueryParameterBaseName = "page"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("page", page)); + localVarQueryParameterBaseName = "textSearch"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("textSearch", textSearch)); + localVarQueryParameterBaseName = "sortProperty"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("sortProperty", sortProperty)); + localVarQueryParameterBaseName = "sortOrder"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("sortOrder", sortOrder)); + if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) { + StringJoiner queryJoiner = new StringJoiner("&"); + localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryStringJoiner.toString()); + } + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); + } else { + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + } + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Get Agent Bulk Action (getAgentBulkAction) + * Fetch the Agent Bulk Action object based on the provided Bulk Action Id. Available for users with 'TENANT_ADMIN' authority. + * @param bulkActionId Bulk Action Id (required) + * @return AgentBulkAction + * @throws ApiException if fails to make API call + */ + public AgentBulkAction getAgentBulkAction(@Nonnull String bulkActionId) throws ApiException { + ApiResponse localVarResponse = getAgentBulkActionWithHttpInfo(bulkActionId, null); + return localVarResponse.getData(); + } + + /** + * Get Agent Bulk Action (getAgentBulkAction) + * Fetch the Agent Bulk Action object based on the provided Bulk Action Id. Available for users with 'TENANT_ADMIN' authority. + * @param bulkActionId Bulk Action Id (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<AgentBulkAction> + * @throws ApiException if fails to make API call + */ + public ApiResponse getAgentBulkActionWithHttpInfo(@Nonnull String bulkActionId, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getAgentBulkActionRequestBuilder(bulkActionId, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getAgentBulkAction", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + AgentBulkAction responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getAgentBulkActionRequestBuilder(@Nonnull String bulkActionId, Map headers) throws ApiException { + // verify the required parameter 'bulkActionId' is set + if (bulkActionId == null) { + throw new ApiException(400, "Missing the required parameter 'bulkActionId' when calling getAgentBulkAction"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/bulk/{bulkActionId}" + .replace("{bulkActionId}", ApiClient.urlEncode(bulkActionId.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Get Agent Bulk Action Event Stats (getAgentBulkActionEventStats) + * Returns the number of agent application events produced by the given bulk action per processing status, together with their total. Available for users with 'TENANT_ADMIN' authority. + * @param bulkActionId Bulk Action Id (required) + * @return AgentBulkActionEventStats + * @throws ApiException if fails to make API call + */ + public AgentBulkActionEventStats getAgentBulkActionEventStats(@Nonnull String bulkActionId) throws ApiException { + ApiResponse localVarResponse = getAgentBulkActionEventStatsWithHttpInfo(bulkActionId, null); + return localVarResponse.getData(); + } + + /** + * Get Agent Bulk Action Event Stats (getAgentBulkActionEventStats) + * Returns the number of agent application events produced by the given bulk action per processing status, together with their total. Available for users with 'TENANT_ADMIN' authority. + * @param bulkActionId Bulk Action Id (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<AgentBulkActionEventStats> + * @throws ApiException if fails to make API call + */ + public ApiResponse getAgentBulkActionEventStatsWithHttpInfo(@Nonnull String bulkActionId, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getAgentBulkActionEventStatsRequestBuilder(bulkActionId, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getAgentBulkActionEventStats", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + AgentBulkActionEventStats responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getAgentBulkActionEventStatsRequestBuilder(@Nonnull String bulkActionId, Map headers) throws ApiException { + // verify the required parameter 'bulkActionId' is set + if (bulkActionId == null) { + throw new ApiException(400, "Missing the required parameter 'bulkActionId' when calling getAgentBulkActionEventStats"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/bulk/{bulkActionId}/eventStats" + .replace("{bulkActionId}", ApiClient.urlEncode(bulkActionId.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Get Agent Bulk Action Events (getAgentBulkActionEvents) + * Returns a page of agent application events produced by the given bulk action, optionally filtered by action type and status. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + * @param bulkActionId Bulk Action Id (required) + * @param pageSize Maximum amount of entities in a one page (required) + * @param page Sequence number of page starting from 0 (required) + * @param textSearch Case-insensitive 'substring' filter based on the event fields (optional) + * @param actionType A string value representing the action type to filter by, e.g. 'UPDATE' (optional) + * @param processingStatus A string value representing the event status to filter by, e.g. 'FINISHED' (optional) + * @param sortProperty Property of entity to sort by (optional) + * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) + * @return PageDataAgentAppEventInfo + * @throws ApiException if fails to make API call + */ + public PageDataAgentAppEventInfo getAgentBulkActionEvents(@Nonnull String bulkActionId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable AgentAppEventActionType actionType, @Nullable AgentProcessingStatus processingStatus, @Nullable String sortProperty, @Nullable String sortOrder) throws ApiException { + ApiResponse localVarResponse = getAgentBulkActionEventsWithHttpInfo(bulkActionId, pageSize, page, textSearch, actionType, processingStatus, sortProperty, sortOrder, null); + return localVarResponse.getData(); + } + + /** + * Get Agent Bulk Action Events (getAgentBulkActionEvents) + * Returns a page of agent application events produced by the given bulk action, optionally filtered by action type and status. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + * @param bulkActionId Bulk Action Id (required) + * @param pageSize Maximum amount of entities in a one page (required) + * @param page Sequence number of page starting from 0 (required) + * @param textSearch Case-insensitive 'substring' filter based on the event fields (optional) + * @param actionType A string value representing the action type to filter by, e.g. 'UPDATE' (optional) + * @param processingStatus A string value representing the event status to filter by, e.g. 'FINISHED' (optional) + * @param sortProperty Property of entity to sort by (optional) + * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) + * @param headers Optional headers to include in the request + * @return ApiResponse<PageDataAgentAppEventInfo> + * @throws ApiException if fails to make API call + */ + public ApiResponse getAgentBulkActionEventsWithHttpInfo(@Nonnull String bulkActionId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable AgentAppEventActionType actionType, @Nullable AgentProcessingStatus processingStatus, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getAgentBulkActionEventsRequestBuilder(bulkActionId, pageSize, page, textSearch, actionType, processingStatus, sortProperty, sortOrder, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getAgentBulkActionEvents", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + PageDataAgentAppEventInfo responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getAgentBulkActionEventsRequestBuilder(@Nonnull String bulkActionId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable AgentAppEventActionType actionType, @Nullable AgentProcessingStatus processingStatus, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { + // verify the required parameter 'bulkActionId' is set + if (bulkActionId == null) { + throw new ApiException(400, "Missing the required parameter 'bulkActionId' when calling getAgentBulkActionEvents"); + } + // verify the required parameter 'pageSize' is set + if (pageSize == null) { + throw new ApiException(400, "Missing the required parameter 'pageSize' when calling getAgentBulkActionEvents"); + } + // verify the required parameter 'page' is set + if (page == null) { + throw new ApiException(400, "Missing the required parameter 'page' when calling getAgentBulkActionEvents"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/bulk/{bulkActionId}/events" + .replace("{bulkActionId}", ApiClient.urlEncode(bulkActionId.toString())); + List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "pageSize"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("pageSize", pageSize)); + localVarQueryParameterBaseName = "page"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("page", page)); + localVarQueryParameterBaseName = "textSearch"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("textSearch", textSearch)); + localVarQueryParameterBaseName = "actionType"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("actionType", actionType)); + localVarQueryParameterBaseName = "processingStatus"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("processingStatus", processingStatus)); + localVarQueryParameterBaseName = "sortProperty"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("sortProperty", sortProperty)); + localVarQueryParameterBaseName = "sortOrder"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("sortOrder", sortOrder)); + if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) { + StringJoiner queryJoiner = new StringJoiner("&"); + localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryStringJoiner.toString()); + } + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); + } else { + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + } + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Get Agent (getAgentById) + * Fetch the Agent object based on the provided Agent Id. The server checks that the agent is owned by the same tenant. Available for users with 'TENANT_ADMIN' authority. + * @param agentId A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @return Agent + * @throws ApiException if fails to make API call + */ + public Agent getAgentById(@Nonnull String agentId) throws ApiException { + ApiResponse localVarResponse = getAgentByIdWithHttpInfo(agentId, null); + return localVarResponse.getData(); + } + + /** + * Get Agent (getAgentById) + * Fetch the Agent object based on the provided Agent Id. The server checks that the agent is owned by the same tenant. Available for users with 'TENANT_ADMIN' authority. + * @param agentId A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<Agent> + * @throws ApiException if fails to make API call + */ + public ApiResponse getAgentByIdWithHttpInfo(@Nonnull String agentId, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getAgentByIdRequestBuilder(agentId, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getAgentById", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + Agent responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getAgentByIdRequestBuilder(@Nonnull String agentId, Map headers) throws ApiException { + // verify the required parameter 'agentId' is set + if (agentId == null) { + throw new ApiException(400, "Missing the required parameter 'agentId' when calling getAgentById"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/{agentId}" + .replace("{agentId}", ApiClient.urlEncode(agentId.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Get Agent Info (getAgentInfoById) + * Fetch the Agent Info object based on the provided Agent Id. Agent Info extends the Agent object and adds customer title and 'is public' flag. Available for users with 'TENANT_ADMIN' authority. + * @param agentId A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @return AgentInfo + * @throws ApiException if fails to make API call + */ + public AgentInfo getAgentInfoById(@Nonnull String agentId) throws ApiException { + ApiResponse localVarResponse = getAgentInfoByIdWithHttpInfo(agentId, null); + return localVarResponse.getData(); + } + + /** + * Get Agent Info (getAgentInfoById) + * Fetch the Agent Info object based on the provided Agent Id. Agent Info extends the Agent object and adds customer title and 'is public' flag. Available for users with 'TENANT_ADMIN' authority. + * @param agentId A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<AgentInfo> + * @throws ApiException if fails to make API call + */ + public ApiResponse getAgentInfoByIdWithHttpInfo(@Nonnull String agentId, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getAgentInfoByIdRequestBuilder(agentId, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getAgentInfoById", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + AgentInfo responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getAgentInfoByIdRequestBuilder(@Nonnull String agentId, Map headers) throws ApiException { + // verify the required parameter 'agentId' is set + if (agentId == null) { + throw new ApiException(400, "Missing the required parameter 'agentId' when calling getAgentInfoById"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/info/{agentId}" + .replace("{agentId}", ApiClient.urlEncode(agentId.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Get Agent Infos By Ids (getAgentInfosByIds) + * Requested agents must be owned by tenant or assigned to customer which user is performing the request. Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities). + * @param agentIds A list of agent ids, separated by comma ',' (required) + * @return List<AgentInfo> + * @throws ApiException if fails to make API call + */ + public List getAgentInfosByIds(@Nonnull List agentIds) throws ApiException { + ApiResponse> localVarResponse = getAgentInfosByIdsWithHttpInfo(agentIds, null); + return localVarResponse.getData(); + } + + /** + * Get Agent Infos By Ids (getAgentInfosByIds) + * Requested agents must be owned by tenant or assigned to customer which user is performing the request. Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities). + * @param agentIds A list of agent ids, separated by comma ',' (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<List<AgentInfo>> + * @throws ApiException if fails to make API call + */ + public ApiResponse> getAgentInfosByIdsWithHttpInfo(@Nonnull List agentIds, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getAgentInfosByIdsRequestBuilder(agentIds, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getAgentInfosByIds", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse>(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + List responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference>() {}); + return new ApiResponse>(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getAgentInfosByIdsRequestBuilder(@Nonnull List agentIds, Map headers) throws ApiException { + // verify the required parameter 'agentIds' is set + if (agentIds == null) { + throw new ApiException(400, "Missing the required parameter 'agentIds' when calling getAgentInfosByIds"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agentInfos"; + List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "agentIds"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("multi", "agentIds", agentIds)); + if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) { + StringJoiner queryJoiner = new StringJoiner("&"); + localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryStringJoiner.toString()); + } + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); + } else { + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + } + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Get Agent Install Instructions (getAgentInstallInstructions) + * Returns the docker install command for the specified agent with the server address and gRPC port resolved server-side. Available for users with 'TENANT_ADMIN' authority. + * @param agentId A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param method Installation method ('docker') (required) + * @return AgentInstructions + * @throws ApiException if fails to make API call + */ + public AgentInstructions getAgentInstallInstructions(@Nonnull String agentId, @Nonnull String method) throws ApiException { + ApiResponse localVarResponse = getAgentInstallInstructionsWithHttpInfo(agentId, method, null); + return localVarResponse.getData(); + } + + /** + * Get Agent Install Instructions (getAgentInstallInstructions) + * Returns the docker install command for the specified agent with the server address and gRPC port resolved server-side. Available for users with 'TENANT_ADMIN' authority. + * @param agentId A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param method Installation method ('docker') (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<AgentInstructions> + * @throws ApiException if fails to make API call + */ + public ApiResponse getAgentInstallInstructionsWithHttpInfo(@Nonnull String agentId, @Nonnull String method, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getAgentInstallInstructionsRequestBuilder(agentId, method, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getAgentInstallInstructions", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + AgentInstructions responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getAgentInstallInstructionsRequestBuilder(@Nonnull String agentId, @Nonnull String method, Map headers) throws ApiException { + // verify the required parameter 'agentId' is set + if (agentId == null) { + throw new ApiException(400, "Missing the required parameter 'agentId' when calling getAgentInstallInstructions"); + } + // verify the required parameter 'method' is set + if (method == null) { + throw new ApiException(400, "Missing the required parameter 'method' when calling getAgentInstallInstructions"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/instructions/install/{agentId}/{method}" + .replace("{agentId}", ApiClient.urlEncode(agentId.toString())) + .replace("{method}", ApiClient.urlEncode(method.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Get Bulk Actions for Agent Profile and Application Profile (getAgentProfileAppProfileBulkActions) + * Returns a page of bulk actions previously submitted for the given agent profile and application profile pair. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + * @param agentProfileId Agent Profile Id (required) + * @param applicationProfileId Agent Application Profile Id (required) + * @param pageSize Maximum amount of entities in a one page (required) + * @param page Sequence number of page starting from 0 (required) + * @param sortProperty Property of entity to sort by (optional) + * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) + * @return PageDataAgentBulkAction + * @throws ApiException if fails to make API call + */ + public PageDataAgentBulkAction getAgentProfileAppProfileBulkActions(@Nonnull String agentProfileId, @Nonnull String applicationProfileId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String sortProperty, @Nullable String sortOrder) throws ApiException { + ApiResponse localVarResponse = getAgentProfileAppProfileBulkActionsWithHttpInfo(agentProfileId, applicationProfileId, pageSize, page, sortProperty, sortOrder, null); + return localVarResponse.getData(); + } + + /** + * Get Bulk Actions for Agent Profile and Application Profile (getAgentProfileAppProfileBulkActions) + * Returns a page of bulk actions previously submitted for the given agent profile and application profile pair. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + * @param agentProfileId Agent Profile Id (required) + * @param applicationProfileId Agent Application Profile Id (required) + * @param pageSize Maximum amount of entities in a one page (required) + * @param page Sequence number of page starting from 0 (required) + * @param sortProperty Property of entity to sort by (optional) + * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) + * @param headers Optional headers to include in the request + * @return ApiResponse<PageDataAgentBulkAction> + * @throws ApiException if fails to make API call + */ + public ApiResponse getAgentProfileAppProfileBulkActionsWithHttpInfo(@Nonnull String agentProfileId, @Nonnull String applicationProfileId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getAgentProfileAppProfileBulkActionsRequestBuilder(agentProfileId, applicationProfileId, pageSize, page, sortProperty, sortOrder, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getAgentProfileAppProfileBulkActions", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + PageDataAgentBulkAction responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getAgentProfileAppProfileBulkActionsRequestBuilder(@Nonnull String agentProfileId, @Nonnull String applicationProfileId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { + // verify the required parameter 'agentProfileId' is set + if (agentProfileId == null) { + throw new ApiException(400, "Missing the required parameter 'agentProfileId' when calling getAgentProfileAppProfileBulkActions"); + } + // verify the required parameter 'applicationProfileId' is set + if (applicationProfileId == null) { + throw new ApiException(400, "Missing the required parameter 'applicationProfileId' when calling getAgentProfileAppProfileBulkActions"); + } + // verify the required parameter 'pageSize' is set + if (pageSize == null) { + throw new ApiException(400, "Missing the required parameter 'pageSize' when calling getAgentProfileAppProfileBulkActions"); + } + // verify the required parameter 'page' is set + if (page == null) { + throw new ApiException(400, "Missing the required parameter 'page' when calling getAgentProfileAppProfileBulkActions"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/profile/{agentProfileId}/appProfile/{applicationProfileId}/bulk" + .replace("{agentProfileId}", ApiClient.urlEncode(agentProfileId.toString())) + .replace("{applicationProfileId}", ApiClient.urlEncode(applicationProfileId.toString())); + List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "pageSize"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("pageSize", pageSize)); + localVarQueryParameterBaseName = "page"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("page", page)); + localVarQueryParameterBaseName = "sortProperty"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("sortProperty", sortProperty)); + localVarQueryParameterBaseName = "sortOrder"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("sortOrder", sortOrder)); + if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) { + StringJoiner queryJoiner = new StringJoiner("&"); + localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryStringJoiner.toString()); + } + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); + } else { + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + } + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Get Agent Profile App Profile Infos (getAgentProfileAppProfileInfos) + * Returns app profiles assigned to the given agent profile, enriched with template version, the count of AgentApplications using each app profile within this agent profile and the additional info of the assignment relation. Available for users with 'TENANT_ADMIN' authority. + * @param agentProfileId Agent Profile Id (required) + * @return List<AgentAppProfileRelationInfo> + * @throws ApiException if fails to make API call + */ + public List getAgentProfileAppProfileInfos(@Nonnull String agentProfileId) throws ApiException { + ApiResponse> localVarResponse = getAgentProfileAppProfileInfosWithHttpInfo(agentProfileId, null); + return localVarResponse.getData(); + } + + /** + * Get Agent Profile App Profile Infos (getAgentProfileAppProfileInfos) + * Returns app profiles assigned to the given agent profile, enriched with template version, the count of AgentApplications using each app profile within this agent profile and the additional info of the assignment relation. Available for users with 'TENANT_ADMIN' authority. + * @param agentProfileId Agent Profile Id (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<List<AgentAppProfileRelationInfo>> + * @throws ApiException if fails to make API call + */ + public ApiResponse> getAgentProfileAppProfileInfosWithHttpInfo(@Nonnull String agentProfileId, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getAgentProfileAppProfileInfosRequestBuilder(agentProfileId, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getAgentProfileAppProfileInfos", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse>(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + List responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference>() {}); + return new ApiResponse>(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getAgentProfileAppProfileInfosRequestBuilder(@Nonnull String agentProfileId, Map headers) throws ApiException { + // verify the required parameter 'agentProfileId' is set + if (agentProfileId == null) { + throw new ApiException(400, "Missing the required parameter 'agentProfileId' when calling getAgentProfileAppProfileInfos"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/profile/{agentProfileId}/appProfilesInfo" + .replace("{agentProfileId}", ApiClient.urlEncode(agentProfileId.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Get Bulk Actions for Agent Profile (getAgentProfileBulkActions) + * Returns a page of bulk actions previously submitted for the given agent profile. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + * @param agentProfileId Agent Profile Id (required) + * @param pageSize Maximum amount of entities in a one page (required) + * @param page Sequence number of page starting from 0 (required) + * @param sortProperty Property of entity to sort by (optional) + * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) + * @return PageDataAgentBulkAction + * @throws ApiException if fails to make API call + */ + public PageDataAgentBulkAction getAgentProfileBulkActions(@Nonnull String agentProfileId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String sortProperty, @Nullable String sortOrder) throws ApiException { + ApiResponse localVarResponse = getAgentProfileBulkActionsWithHttpInfo(agentProfileId, pageSize, page, sortProperty, sortOrder, null); + return localVarResponse.getData(); + } + + /** + * Get Bulk Actions for Agent Profile (getAgentProfileBulkActions) + * Returns a page of bulk actions previously submitted for the given agent profile. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + * @param agentProfileId Agent Profile Id (required) + * @param pageSize Maximum amount of entities in a one page (required) + * @param page Sequence number of page starting from 0 (required) + * @param sortProperty Property of entity to sort by (optional) + * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) + * @param headers Optional headers to include in the request + * @return ApiResponse<PageDataAgentBulkAction> + * @throws ApiException if fails to make API call + */ + public ApiResponse getAgentProfileBulkActionsWithHttpInfo(@Nonnull String agentProfileId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getAgentProfileBulkActionsRequestBuilder(agentProfileId, pageSize, page, sortProperty, sortOrder, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getAgentProfileBulkActions", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + PageDataAgentBulkAction responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getAgentProfileBulkActionsRequestBuilder(@Nonnull String agentProfileId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { + // verify the required parameter 'agentProfileId' is set + if (agentProfileId == null) { + throw new ApiException(400, "Missing the required parameter 'agentProfileId' when calling getAgentProfileBulkActions"); + } + // verify the required parameter 'pageSize' is set + if (pageSize == null) { + throw new ApiException(400, "Missing the required parameter 'pageSize' when calling getAgentProfileBulkActions"); + } + // verify the required parameter 'page' is set + if (page == null) { + throw new ApiException(400, "Missing the required parameter 'page' when calling getAgentProfileBulkActions"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/profile/{agentProfileId}/bulk" + .replace("{agentProfileId}", ApiClient.urlEncode(agentProfileId.toString())); + List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "pageSize"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("pageSize", pageSize)); + localVarQueryParameterBaseName = "page"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("page", page)); + localVarQueryParameterBaseName = "sortProperty"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("sortProperty", sortProperty)); + localVarQueryParameterBaseName = "sortOrder"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("sortOrder", sortOrder)); + if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) { + StringJoiner queryJoiner = new StringJoiner("&"); + localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryStringJoiner.toString()); + } + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); + } else { + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + } + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Get Agent Profile (getAgentProfileById) + * Fetch the Agent Profile object based on the provided Agent Profile Id. Available for users with 'TENANT_ADMIN' authority. + * @param agentProfileId Agent Profile Id (required) + * @return AgentProfile + * @throws ApiException if fails to make API call + */ + public AgentProfile getAgentProfileById(@Nonnull String agentProfileId) throws ApiException { + ApiResponse localVarResponse = getAgentProfileByIdWithHttpInfo(agentProfileId, null); + return localVarResponse.getData(); + } + + /** + * Get Agent Profile (getAgentProfileById) + * Fetch the Agent Profile object based on the provided Agent Profile Id. Available for users with 'TENANT_ADMIN' authority. + * @param agentProfileId Agent Profile Id (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<AgentProfile> + * @throws ApiException if fails to make API call + */ + public ApiResponse getAgentProfileByIdWithHttpInfo(@Nonnull String agentProfileId, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getAgentProfileByIdRequestBuilder(agentProfileId, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getAgentProfileById", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + AgentProfile responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getAgentProfileByIdRequestBuilder(@Nonnull String agentProfileId, Map headers) throws ApiException { + // verify the required parameter 'agentProfileId' is set + if (agentProfileId == null) { + throw new ApiException(400, "Missing the required parameter 'agentProfileId' when calling getAgentProfileById"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/profile/{agentProfileId}" + .replace("{agentProfileId}", ApiClient.urlEncode(agentProfileId.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Get Agent Profile Info (getAgentProfileInfoById) + * Fetch the Agent Profile Info object based on the provided Agent Profile Id. Agent Profile Info is a lightweight object that omits the auto-provision key and secret; it is readable by any tenant admin so agent screens can resolve the linked profile. Available for users with 'TENANT_ADMIN' authority. + * @param agentProfileId Agent Profile Id (required) + * @return AgentProfileInfo + * @throws ApiException if fails to make API call + */ + public AgentProfileInfo getAgentProfileInfoById(@Nonnull String agentProfileId) throws ApiException { + ApiResponse localVarResponse = getAgentProfileInfoByIdWithHttpInfo(agentProfileId, null); + return localVarResponse.getData(); + } + + /** + * Get Agent Profile Info (getAgentProfileInfoById) + * Fetch the Agent Profile Info object based on the provided Agent Profile Id. Agent Profile Info is a lightweight object that omits the auto-provision key and secret; it is readable by any tenant admin so agent screens can resolve the linked profile. Available for users with 'TENANT_ADMIN' authority. + * @param agentProfileId Agent Profile Id (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<AgentProfileInfo> + * @throws ApiException if fails to make API call + */ + public ApiResponse getAgentProfileInfoByIdWithHttpInfo(@Nonnull String agentProfileId, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getAgentProfileInfoByIdRequestBuilder(agentProfileId, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getAgentProfileInfoById", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + AgentProfileInfo responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getAgentProfileInfoByIdRequestBuilder(@Nonnull String agentProfileId, Map headers) throws ApiException { + // verify the required parameter 'agentProfileId' is set + if (agentProfileId == null) { + throw new ApiException(400, "Missing the required parameter 'agentProfileId' when calling getAgentProfileInfoById"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/profile/info/{agentProfileId}" + .replace("{agentProfileId}", ApiClient.urlEncode(agentProfileId.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Get Agent Provision Instructions (getAgentProvisionInstructions) + * Returns the auto-provision docker command for the specified agent profile with the server address and gRPC port resolved server-side. Available for users with 'TENANT_ADMIN' authority. + * @param agentProfileId Agent Profile Id (required) + * @param method Installation method ('docker') (required) + * @return AgentInstructions + * @throws ApiException if fails to make API call + */ + public AgentInstructions getAgentProvisionInstructions(@Nonnull String agentProfileId, @Nonnull String method) throws ApiException { + ApiResponse localVarResponse = getAgentProvisionInstructionsWithHttpInfo(agentProfileId, method, null); + return localVarResponse.getData(); + } + + /** + * Get Agent Provision Instructions (getAgentProvisionInstructions) + * Returns the auto-provision docker command for the specified agent profile with the server address and gRPC port resolved server-side. Available for users with 'TENANT_ADMIN' authority. + * @param agentProfileId Agent Profile Id (required) + * @param method Installation method ('docker') (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<AgentInstructions> + * @throws ApiException if fails to make API call + */ + public ApiResponse getAgentProvisionInstructionsWithHttpInfo(@Nonnull String agentProfileId, @Nonnull String method, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getAgentProvisionInstructionsRequestBuilder(agentProfileId, method, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getAgentProvisionInstructions", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + AgentInstructions responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getAgentProvisionInstructionsRequestBuilder(@Nonnull String agentProfileId, @Nonnull String method, Map headers) throws ApiException { + // verify the required parameter 'agentProfileId' is set + if (agentProfileId == null) { + throw new ApiException(400, "Missing the required parameter 'agentProfileId' when calling getAgentProvisionInstructions"); + } + // verify the required parameter 'method' is set + if (method == null) { + throw new ApiException(400, "Missing the required parameter 'method' when calling getAgentProvisionInstructions"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/profile/instructions/provision/{agentProfileId}/{method}" + .replace("{agentProfileId}", ApiClient.urlEncode(agentProfileId.toString())) + .replace("{method}", ApiClient.urlEncode(method.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Get the agent upgrade target (getAgentUpgradeTarget) + * Returns the image reference the agent should be upgraded to, or an empty string when it already runs the newest published image or cannot be placed in the version graph. Available for users with 'TENANT_ADMIN' authority. + * @param agentId A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @return String + * @throws ApiException if fails to make API call + */ + public String getAgentUpgradeTarget(@Nonnull String agentId) throws ApiException { + ApiResponse localVarResponse = getAgentUpgradeTargetWithHttpInfo(agentId, null); + return localVarResponse.getData(); + } + + /** + * Get the agent upgrade target (getAgentUpgradeTarget) + * Returns the image reference the agent should be upgraded to, or an empty string when it already runs the newest published image or cannot be placed in the version graph. Available for users with 'TENANT_ADMIN' authority. + * @param agentId A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<String> + * @throws ApiException if fails to make API call + */ + public ApiResponse getAgentUpgradeTargetWithHttpInfo(@Nonnull String agentId, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getAgentUpgradeTargetRequestBuilder(agentId, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getAgentUpgradeTarget", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + String responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getAgentUpgradeTargetRequestBuilder(@Nonnull String agentId, Map headers) throws ApiException { + // verify the required parameter 'agentId' is set + if (agentId == null) { + throw new ApiException(400, "Missing the required parameter 'agentId' when calling getAgentUpgradeTarget"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/{agentId}/upgrade/target" + .replace("{agentId}", ApiClient.urlEncode(agentId.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Get AI model by ID (getAiModelById) + * Fetches an AI model record by its `id`. Available for users with 'TENANT_ADMIN' authority. + * @param modelUuid ID of the AI model record (required) + * @return AiModel + * @throws ApiException if fails to make API call + */ + public AiModel getAiModelById(@Nonnull UUID modelUuid) throws ApiException { + ApiResponse localVarResponse = getAiModelByIdWithHttpInfo(modelUuid, null); + return localVarResponse.getData(); + } + + /** + * Get AI model by ID (getAiModelById) + * Fetches an AI model record by its `id`. Available for users with 'TENANT_ADMIN' authority. + * @param modelUuid ID of the AI model record (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<AiModel> + * @throws ApiException if fails to make API call + */ + public ApiResponse getAiModelByIdWithHttpInfo(@Nonnull UUID modelUuid, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getAiModelByIdRequestBuilder(modelUuid, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getAiModelById", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + AiModel responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getAiModelByIdRequestBuilder(@Nonnull UUID modelUuid, Map headers) throws ApiException { + // verify the required parameter 'modelUuid' is set + if (modelUuid == null) { + throw new ApiException(400, "Missing the required parameter 'modelUuid' when calling getAiModelById"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/ai/model/{modelUuid}" + .replace("{modelUuid}", ApiClient.urlEncode(modelUuid.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Get AI models (getAiModels) + * Returns a page of AI models. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + * @param pageSize Maximum amount of entities in a one page (required) + * @param page Sequence number of page starting from 0 (required) + * @param textSearch The case insensitive 'substring' filter based on the AI model name, provider and model ID. (optional) + * @param sortProperty Property of entity to sort by (optional) + * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) + * @return PageDataAiModel + * @throws ApiException if fails to make API call + */ + public PageDataAiModel getAiModels(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder) throws ApiException { + ApiResponse localVarResponse = getAiModelsWithHttpInfo(pageSize, page, textSearch, sortProperty, sortOrder, null); + return localVarResponse.getData(); + } + + /** + * Get AI models (getAiModels) + * Returns a page of AI models. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + * @param pageSize Maximum amount of entities in a one page (required) + * @param page Sequence number of page starting from 0 (required) + * @param textSearch The case insensitive 'substring' filter based on the AI model name, provider and model ID. (optional) + * @param sortProperty Property of entity to sort by (optional) + * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) + * @param headers Optional headers to include in the request + * @return ApiResponse<PageDataAiModel> + * @throws ApiException if fails to make API call + */ + public ApiResponse getAiModelsWithHttpInfo(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getAiModelsRequestBuilder(pageSize, page, textSearch, sortProperty, sortOrder, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getAiModels", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + PageDataAiModel responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getAiModelsRequestBuilder(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { + // verify the required parameter 'pageSize' is set + if (pageSize == null) { + throw new ApiException(400, "Missing the required parameter 'pageSize' when calling getAiModels"); + } + // verify the required parameter 'page' is set + if (page == null) { + throw new ApiException(400, "Missing the required parameter 'page' when calling getAiModels"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/ai/model"; + List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "pageSize"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("pageSize", pageSize)); + localVarQueryParameterBaseName = "page"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("page", page)); + localVarQueryParameterBaseName = "textSearch"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("textSearch", textSearch)); + localVarQueryParameterBaseName = "sortProperty"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("sortProperty", sortProperty)); + localVarQueryParameterBaseName = "sortOrder"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("sortOrder", sortOrder)); + if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) { + StringJoiner queryJoiner = new StringJoiner("&"); + localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryStringJoiner.toString()); + } + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); + } else { + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + } + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Get Alarm (getAlarmById) + * Fetch the Alarm object based on the provided Alarm Id. Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities). + * @param alarmId A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @return Alarm + * @throws ApiException if fails to make API call + */ + public Alarm getAlarmById(@Nonnull String alarmId) throws ApiException { + ApiResponse localVarResponse = getAlarmByIdWithHttpInfo(alarmId, null); + return localVarResponse.getData(); + } + + /** + * Get Alarm (getAlarmById) + * Fetch the Alarm object based on the provided Alarm Id. Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities). + * @param alarmId A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<Alarm> + * @throws ApiException if fails to make API call + */ + public ApiResponse getAlarmByIdWithHttpInfo(@Nonnull String alarmId, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getAlarmByIdRequestBuilder(alarmId, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getAlarmById", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + Alarm responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getAlarmByIdRequestBuilder(@Nonnull String alarmId, Map headers) throws ApiException { + // verify the required parameter 'alarmId' is set + if (alarmId == null) { + throw new ApiException(400, "Missing the required parameter 'alarmId' when calling getAlarmById"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/alarm/{alarmId}" + .replace("{alarmId}", ApiClient.urlEncode(alarmId.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Get Alarm comments (getAlarmComments) + * Returns a page of alarm comments for specified alarm. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. + * @param alarmId A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param pageSize Maximum amount of entities in a one page (required) + * @param page Sequence number of page starting from 0 (required) + * @param sortProperty Property of entity to sort by (optional) + * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) + * @return PageDataAlarmCommentInfo + * @throws ApiException if fails to make API call + */ + public PageDataAlarmCommentInfo getAlarmComments(@Nonnull String alarmId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String sortProperty, @Nullable String sortOrder) throws ApiException { + ApiResponse localVarResponse = getAlarmCommentsWithHttpInfo(alarmId, pageSize, page, sortProperty, sortOrder, null); + return localVarResponse.getData(); + } + + /** + * Get Alarm comments (getAlarmComments) + * Returns a page of alarm comments for specified alarm. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. + * @param alarmId A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param pageSize Maximum amount of entities in a one page (required) + * @param page Sequence number of page starting from 0 (required) + * @param sortProperty Property of entity to sort by (optional) + * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) + * @param headers Optional headers to include in the request + * @return ApiResponse<PageDataAlarmCommentInfo> + * @throws ApiException if fails to make API call + */ + public ApiResponse getAlarmCommentsWithHttpInfo(@Nonnull String alarmId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getAlarmCommentsRequestBuilder(alarmId, pageSize, page, sortProperty, sortOrder, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getAlarmComments", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + PageDataAlarmCommentInfo responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getAlarmCommentsRequestBuilder(@Nonnull String alarmId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { + // verify the required parameter 'alarmId' is set + if (alarmId == null) { + throw new ApiException(400, "Missing the required parameter 'alarmId' when calling getAlarmComments"); + } + // verify the required parameter 'pageSize' is set + if (pageSize == null) { + throw new ApiException(400, "Missing the required parameter 'pageSize' when calling getAlarmComments"); + } + // verify the required parameter 'page' is set + if (page == null) { + throw new ApiException(400, "Missing the required parameter 'page' when calling getAlarmComments"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/alarm/{alarmId}/comment" + .replace("{alarmId}", ApiClient.urlEncode(alarmId.toString())); + List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "pageSize"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("pageSize", pageSize)); + localVarQueryParameterBaseName = "page"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("page", page)); + localVarQueryParameterBaseName = "sortProperty"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("sortProperty", sortProperty)); + localVarQueryParameterBaseName = "sortOrder"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("sortOrder", sortOrder)); + if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) { + StringJoiner queryJoiner = new StringJoiner("&"); + localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryStringJoiner.toString()); + } + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); + } else { + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + } + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Get Alarm Info (getAlarmInfoById) + * Fetch the Alarm Info object based on the provided Alarm Id. Alarm Info is an extension of the default Alarm object that also contains name of the alarm originator. Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities). + * @param alarmId A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @return AlarmInfo + * @throws ApiException if fails to make API call + */ + public AlarmInfo getAlarmInfoById(@Nonnull String alarmId) throws ApiException { + ApiResponse localVarResponse = getAlarmInfoByIdWithHttpInfo(alarmId, null); + return localVarResponse.getData(); + } + + /** + * Get Alarm Info (getAlarmInfoById) + * Fetch the Alarm Info object based on the provided Alarm Id. Alarm Info is an extension of the default Alarm object that also contains name of the alarm originator. Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities). + * @param alarmId A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<AlarmInfo> + * @throws ApiException if fails to make API call + */ + public ApiResponse getAlarmInfoByIdWithHttpInfo(@Nonnull String alarmId, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getAlarmInfoByIdRequestBuilder(alarmId, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getAlarmInfoById", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + AlarmInfo responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getAlarmInfoByIdRequestBuilder(@Nonnull String alarmId, Map headers) throws ApiException { + // verify the required parameter 'alarmId' is set + if (alarmId == null) { + throw new ApiException(400, "Missing the required parameter 'alarmId' when calling getAlarmInfoById"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/alarm/info/{alarmId}" + .replace("{alarmId}", ApiClient.urlEncode(alarmId.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Get Alarm Rule (getAlarmRuleById) + * Fetch the Alarm Rule object based on the provided Alarm Rule Id. Available for users with 'TENANT_ADMIN' authority. + * @param alarmRuleId (required) + * @return AlarmRuleDefinition + * @throws ApiException if fails to make API call + */ + public AlarmRuleDefinition getAlarmRuleById(@Nonnull String alarmRuleId) throws ApiException { + ApiResponse localVarResponse = getAlarmRuleByIdWithHttpInfo(alarmRuleId, null); + return localVarResponse.getData(); + } + + /** + * Get Alarm Rule (getAlarmRuleById) + * Fetch the Alarm Rule object based on the provided Alarm Rule Id. Available for users with 'TENANT_ADMIN' authority. + * @param alarmRuleId (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<AlarmRuleDefinition> + * @throws ApiException if fails to make API call + */ + public ApiResponse getAlarmRuleByIdWithHttpInfo(@Nonnull String alarmRuleId, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getAlarmRuleByIdRequestBuilder(alarmRuleId, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getAlarmRuleById", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + AlarmRuleDefinition responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getAlarmRuleByIdRequestBuilder(@Nonnull String alarmRuleId, Map headers) throws ApiException { + // verify the required parameter 'alarmRuleId' is set + if (alarmRuleId == null) { + throw new ApiException(400, "Missing the required parameter 'alarmRuleId' when calling getAlarmRuleById"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/alarm/rule/{alarmRuleId}" + .replace("{alarmRuleId}", ApiClient.urlEncode(alarmRuleId.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Get alarm rule names (getAlarmRuleNames) + * Fetch the list of alarm rule names. Available for users with 'TENANT_ADMIN' authority. + * @param pageSize Maximum amount of entities in a one page (required) + * @param page Sequence number of page starting from 0 (required) + * @param textSearch The case insensitive 'substring' filter based on the calculated field name. (optional) + * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) + * @return PageDataString + * @throws ApiException if fails to make API call + */ + public PageDataString getAlarmRuleNames(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortOrder) throws ApiException { + ApiResponse localVarResponse = getAlarmRuleNamesWithHttpInfo(pageSize, page, textSearch, sortOrder, null); + return localVarResponse.getData(); + } + + /** + * Get alarm rule names (getAlarmRuleNames) + * Fetch the list of alarm rule names. Available for users with 'TENANT_ADMIN' authority. + * @param pageSize Maximum amount of entities in a one page (required) + * @param page Sequence number of page starting from 0 (required) + * @param textSearch The case insensitive 'substring' filter based on the calculated field name. (optional) + * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) + * @param headers Optional headers to include in the request + * @return ApiResponse<PageDataString> + * @throws ApiException if fails to make API call + */ + public ApiResponse getAlarmRuleNamesWithHttpInfo(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortOrder, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getAlarmRuleNamesRequestBuilder(pageSize, page, textSearch, sortOrder, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getAlarmRuleNames", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + PageDataString responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getAlarmRuleNamesRequestBuilder(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortOrder, Map headers) throws ApiException { + // verify the required parameter 'pageSize' is set + if (pageSize == null) { + throw new ApiException(400, "Missing the required parameter 'pageSize' when calling getAlarmRuleNames"); + } + // verify the required parameter 'page' is set + if (page == null) { + throw new ApiException(400, "Missing the required parameter 'page' when calling getAlarmRuleNames"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/alarm/rules/names"; + List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "pageSize"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("pageSize", pageSize)); + localVarQueryParameterBaseName = "page"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("page", page)); + localVarQueryParameterBaseName = "textSearch"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("textSearch", textSearch)); + localVarQueryParameterBaseName = "sortOrder"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("sortOrder", sortOrder)); if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) { StringJoiner queryJoiner = new StringJoiner("&"); localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); @@ -21816,13 +25396,167 @@ public ApiResponse getCustomMenuWithHttpInfo(@Nullable String } } - private HttpRequest.Builder getCustomMenuRequestBuilder(@Nullable String ifNoneMatch, Map headers) throws ApiException { + private HttpRequest.Builder getCustomMenuRequestBuilder(@Nullable String ifNoneMatch, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/customMenu"; + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + if (ifNoneMatch != null) { + localVarRequestBuilder.header("If-None-Match", ifNoneMatch.toString()); + } + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Get Custom Menu assignee list (getCustomMenuAssigneeList) + * Fetch the list of Entity Info objects that represents users or customers, or empty list if custom menu is not assigned or has NO_ASSIGN/ALL assignee type. Security check is performed to verify that the user has 'READ' permission for the custom menu with specified id. + * @param customMenuId A string value representing the custom menu id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @return List<EntityInfo> + * @throws ApiException if fails to make API call + */ + public List getCustomMenuAssigneeList(@Nonnull UUID customMenuId) throws ApiException { + ApiResponse> localVarResponse = getCustomMenuAssigneeListWithHttpInfo(customMenuId, null); + return localVarResponse.getData(); + } + + /** + * Get Custom Menu assignee list (getCustomMenuAssigneeList) + * Fetch the list of Entity Info objects that represents users or customers, or empty list if custom menu is not assigned or has NO_ASSIGN/ALL assignee type. Security check is performed to verify that the user has 'READ' permission for the custom menu with specified id. + * @param customMenuId A string value representing the custom menu id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<List<EntityInfo>> + * @throws ApiException if fails to make API call + */ + public ApiResponse> getCustomMenuAssigneeListWithHttpInfo(@Nonnull UUID customMenuId, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getCustomMenuAssigneeListRequestBuilder(customMenuId, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getCustomMenuAssigneeList", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse>(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + List responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference>() {}); + return new ApiResponse>(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getCustomMenuAssigneeListRequestBuilder(@Nonnull UUID customMenuId, Map headers) throws ApiException { + // verify the required parameter 'customMenuId' is set + if (customMenuId == null) { + throw new ApiException(400, "Missing the required parameter 'customMenuId' when calling getCustomMenuAssigneeList"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/customMenu/{customMenuId}/assigneeList" + .replace("{customMenuId}", ApiClient.urlEncode(customMenuId.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Get Custom Menu configuration by id (getCustomMenuConfig) + * Fetch the Custom Menu configuration based on the provided Custom Menu Id. Security check is performed to verify that the user has 'READ' permission for the custom menu with specified id. + * @param customMenuId A string value representing the custom menu id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @return CustomMenuConfig + * @throws ApiException if fails to make API call + */ + public CustomMenuConfig getCustomMenuConfig(@Nonnull UUID customMenuId) throws ApiException { + ApiResponse localVarResponse = getCustomMenuConfigWithHttpInfo(customMenuId, null); + return localVarResponse.getData(); + } + + /** + * Get Custom Menu configuration by id (getCustomMenuConfig) + * Fetch the Custom Menu configuration based on the provided Custom Menu Id. Security check is performed to verify that the user has 'READ' permission for the custom menu with specified id. + * @param customMenuId A string value representing the custom menu id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<CustomMenuConfig> + * @throws ApiException if fails to make API call + */ + public ApiResponse getCustomMenuConfigWithHttpInfo(@Nonnull UUID customMenuId, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getCustomMenuConfigRequestBuilder(customMenuId, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getCustomMenuConfig", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + CustomMenuConfig responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getCustomMenuConfigRequestBuilder(@Nonnull UUID customMenuId, Map headers) throws ApiException { + // verify the required parameter 'customMenuId' is set + if (customMenuId == null) { + throw new ApiException(400, "Missing the required parameter 'customMenuId' when calling getCustomMenuConfig"); + } HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); - String localVarPath = "/api/customMenu"; + String localVarPath = "/api/customMenu/{customMenuId}/config" + .replace("{customMenuId}", ApiClient.urlEncode(customMenuId.toString())); localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); - if (ifNoneMatch != null) { - localVarRequestBuilder.header("If-None-Match", ifNoneMatch.toString()); - } localVarRequestBuilder.header("Accept", "application/json"); localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); if (memberVarReadTimeout != null) { @@ -21837,27 +25571,27 @@ private HttpRequest.Builder getCustomMenuRequestBuilder(@Nullable String ifNoneM } /** - * Get Custom Menu assignee list (getCustomMenuAssigneeList) - * Fetch the list of Entity Info objects that represents users or customers, or empty list if custom menu is not assigned or has NO_ASSIGN/ALL assignee type. Security check is performed to verify that the user has 'READ' permission for the custom menu with specified id. + * Get Custom Menu Info (getCustomMenuInfoById) + * Fetch the Custom Menu Info object based on the provided Custom Menu Id. Security check is performed to verify that the user has 'READ' permission for the custom menu with specified id. * @param customMenuId A string value representing the custom menu id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) - * @return List<EntityInfo> + * @return CustomMenuInfo * @throws ApiException if fails to make API call */ - public List getCustomMenuAssigneeList(@Nonnull UUID customMenuId) throws ApiException { - ApiResponse> localVarResponse = getCustomMenuAssigneeListWithHttpInfo(customMenuId, null); + public CustomMenuInfo getCustomMenuInfoById(@Nonnull UUID customMenuId) throws ApiException { + ApiResponse localVarResponse = getCustomMenuInfoByIdWithHttpInfo(customMenuId, null); return localVarResponse.getData(); } /** - * Get Custom Menu assignee list (getCustomMenuAssigneeList) - * Fetch the list of Entity Info objects that represents users or customers, or empty list if custom menu is not assigned or has NO_ASSIGN/ALL assignee type. Security check is performed to verify that the user has 'READ' permission for the custom menu with specified id. + * Get Custom Menu Info (getCustomMenuInfoById) + * Fetch the Custom Menu Info object based on the provided Custom Menu Id. Security check is performed to verify that the user has 'READ' permission for the custom menu with specified id. * @param customMenuId A string value representing the custom menu id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) * @param headers Optional headers to include in the request - * @return ApiResponse<List<EntityInfo>> + * @return ApiResponse<CustomMenuInfo> * @throws ApiException if fails to make API call */ - public ApiResponse> getCustomMenuAssigneeListWithHttpInfo(@Nonnull UUID customMenuId, Map headers) throws ApiException { - HttpRequest.Builder localVarRequestBuilder = getCustomMenuAssigneeListRequestBuilder(customMenuId, headers); + public ApiResponse getCustomMenuInfoByIdWithHttpInfo(@Nonnull UUID customMenuId, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getCustomMenuInfoByIdRequestBuilder(customMenuId, headers); try { HttpResponse localVarResponse = memberVarHttpClient.send( localVarRequestBuilder.build(), @@ -21868,15 +25602,15 @@ public ApiResponse> getCustomMenuAssigneeListWithHttpInfo(@Nonn InputStream localVarResponseBody = null; try { if (localVarResponse.statusCode()/ 100 != 2) { - throw getApiException("getCustomMenuAssigneeList", localVarResponse); + throw getApiException("getCustomMenuInfoById", localVarResponse); } localVarResponseBody = ApiClient.getResponseBody(localVarResponse); if (localVarResponseBody == null) { - return new ApiResponse>(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); } String responseBody = new String(localVarResponseBody.readAllBytes()); - List responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference>() {}); - return new ApiResponse>(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + CustomMenuInfo responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); } finally { if (localVarResponseBody != null) { localVarResponseBody.close(); @@ -21891,13 +25625,13 @@ public ApiResponse> getCustomMenuAssigneeListWithHttpInfo(@Nonn } } - private HttpRequest.Builder getCustomMenuAssigneeListRequestBuilder(@Nonnull UUID customMenuId, Map headers) throws ApiException { + private HttpRequest.Builder getCustomMenuInfoByIdRequestBuilder(@Nonnull UUID customMenuId, Map headers) throws ApiException { // verify the required parameter 'customMenuId' is set if (customMenuId == null) { - throw new ApiException(400, "Missing the required parameter 'customMenuId' when calling getCustomMenuAssigneeList"); + throw new ApiException(400, "Missing the required parameter 'customMenuId' when calling getCustomMenuInfoById"); } HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); - String localVarPath = "/api/customMenu/{customMenuId}/assigneeList" + String localVarPath = "/api/customMenu/{customMenuId}/info" .replace("{customMenuId}", ApiClient.urlEncode(customMenuId.toString())); localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); localVarRequestBuilder.header("Accept", "application/json"); @@ -21914,27 +25648,39 @@ private HttpRequest.Builder getCustomMenuAssigneeListRequestBuilder(@Nonnull UUI } /** - * Get Custom Menu configuration by id (getCustomMenuConfig) - * Fetch the Custom Menu configuration based on the provided Custom Menu Id. Security check is performed to verify that the user has 'READ' permission for the custom menu with specified id. - * @param customMenuId A string value representing the custom menu id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) - * @return CustomMenuConfig + * Get all custom menus configured at user level (getCustomMenuInfos) + * Returns a page of custom menu info objects owned by the tenant or the customer of a current user, scope and assigneeType request parameters can be used to filter the result. Security check is performed to verify that the user has 'READ' permission for the white labeling resource. + * @param pageSize Maximum amount of entities in a one page (required) + * @param page Sequence number of page starting from 0 (required) + * @param scope Custom menu scope. (optional) + * @param assigneeType Custom menu assignee type. (optional) + * @param textSearch The case insensitive 'substring' filter based on the custom menu name. (optional) + * @param sortProperty Property of entity to sort by (optional) + * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) + * @return PageDataCustomMenuInfo * @throws ApiException if fails to make API call */ - public CustomMenuConfig getCustomMenuConfig(@Nonnull UUID customMenuId) throws ApiException { - ApiResponse localVarResponse = getCustomMenuConfigWithHttpInfo(customMenuId, null); + public PageDataCustomMenuInfo getCustomMenuInfos(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable CMScope scope, @Nullable CMAssigneeType assigneeType, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder) throws ApiException { + ApiResponse localVarResponse = getCustomMenuInfosWithHttpInfo(pageSize, page, scope, assigneeType, textSearch, sortProperty, sortOrder, null); return localVarResponse.getData(); } /** - * Get Custom Menu configuration by id (getCustomMenuConfig) - * Fetch the Custom Menu configuration based on the provided Custom Menu Id. Security check is performed to verify that the user has 'READ' permission for the custom menu with specified id. - * @param customMenuId A string value representing the custom menu id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * Get all custom menus configured at user level (getCustomMenuInfos) + * Returns a page of custom menu info objects owned by the tenant or the customer of a current user, scope and assigneeType request parameters can be used to filter the result. Security check is performed to verify that the user has 'READ' permission for the white labeling resource. + * @param pageSize Maximum amount of entities in a one page (required) + * @param page Sequence number of page starting from 0 (required) + * @param scope Custom menu scope. (optional) + * @param assigneeType Custom menu assignee type. (optional) + * @param textSearch The case insensitive 'substring' filter based on the custom menu name. (optional) + * @param sortProperty Property of entity to sort by (optional) + * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) * @param headers Optional headers to include in the request - * @return ApiResponse<CustomMenuConfig> + * @return ApiResponse<PageDataCustomMenuInfo> * @throws ApiException if fails to make API call */ - public ApiResponse getCustomMenuConfigWithHttpInfo(@Nonnull UUID customMenuId, Map headers) throws ApiException { - HttpRequest.Builder localVarRequestBuilder = getCustomMenuConfigRequestBuilder(customMenuId, headers); + public ApiResponse getCustomMenuInfosWithHttpInfo(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable CMScope scope, @Nullable CMAssigneeType assigneeType, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getCustomMenuInfosRequestBuilder(pageSize, page, scope, assigneeType, textSearch, sortProperty, sortOrder, headers); try { HttpResponse localVarResponse = memberVarHttpClient.send( localVarRequestBuilder.build(), @@ -21945,15 +25691,15 @@ public ApiResponse getCustomMenuConfigWithHttpInfo(@Nonnull UU InputStream localVarResponseBody = null; try { if (localVarResponse.statusCode()/ 100 != 2) { - throw getApiException("getCustomMenuConfig", localVarResponse); + throw getApiException("getCustomMenuInfos", localVarResponse); } localVarResponseBody = ApiClient.getResponseBody(localVarResponse); if (localVarResponseBody == null) { - return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); } String responseBody = new String(localVarResponseBody.readAllBytes()); - CustomMenuConfig responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); - return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + PageDataCustomMenuInfo responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); } finally { if (localVarResponseBody != null) { localVarResponseBody.close(); @@ -21968,15 +25714,44 @@ public ApiResponse getCustomMenuConfigWithHttpInfo(@Nonnull UU } } - private HttpRequest.Builder getCustomMenuConfigRequestBuilder(@Nonnull UUID customMenuId, Map headers) throws ApiException { - // verify the required parameter 'customMenuId' is set - if (customMenuId == null) { - throw new ApiException(400, "Missing the required parameter 'customMenuId' when calling getCustomMenuConfig"); + private HttpRequest.Builder getCustomMenuInfosRequestBuilder(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable CMScope scope, @Nullable CMAssigneeType assigneeType, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { + // verify the required parameter 'pageSize' is set + if (pageSize == null) { + throw new ApiException(400, "Missing the required parameter 'pageSize' when calling getCustomMenuInfos"); + } + // verify the required parameter 'page' is set + if (page == null) { + throw new ApiException(400, "Missing the required parameter 'page' when calling getCustomMenuInfos"); } HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); - String localVarPath = "/api/customMenu/{customMenuId}/config" - .replace("{customMenuId}", ApiClient.urlEncode(customMenuId.toString())); - localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + String localVarPath = "/api/customMenu/infos"; + List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "scope"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("scope", scope)); + localVarQueryParameterBaseName = "assigneeType"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("assigneeType", assigneeType)); + localVarQueryParameterBaseName = "pageSize"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("pageSize", pageSize)); + localVarQueryParameterBaseName = "page"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("page", page)); + localVarQueryParameterBaseName = "textSearch"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("textSearch", textSearch)); + localVarQueryParameterBaseName = "sortProperty"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("sortProperty", sortProperty)); + localVarQueryParameterBaseName = "sortOrder"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("sortOrder", sortOrder)); + if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) { + StringJoiner queryJoiner = new StringJoiner("&"); + localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryStringJoiner.toString()); + } + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); + } else { + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + } localVarRequestBuilder.header("Accept", "application/json"); localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); if (memberVarReadTimeout != null) { @@ -21991,27 +25766,27 @@ private HttpRequest.Builder getCustomMenuConfigRequestBuilder(@Nonnull UUID cust } /** - * Get Custom Menu Info (getCustomMenuInfoById) - * Fetch the Custom Menu Info object based on the provided Custom Menu Id. Security check is performed to verify that the user has 'READ' permission for the custom menu with specified id. - * @param customMenuId A string value representing the custom menu id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) - * @return CustomMenuInfo + * Get Custom Translation configuration (getCustomTranslation) + * Fetch the Custom Translation for specified locale that corresponds to the authority of the user. The API call is designed to load the custom translation items for edition. So, the result is NOT merged with the parent level configuration. Let's assume there is a custom translation configured on a system level. And there is no custom translation items configured on a tenant level. In such a case, the API call will return empty object for the tenant administrator. Response example: ```json {\"home\":\"MyHome\"} ``` Security check is performed to verify that the user has 'READ' permission for the white labeling resource. + * @param localeCode Locale code (e.g. 'en_US'). (required) + * @return com.fasterxml.jackson.databind.JsonNode * @throws ApiException if fails to make API call */ - public CustomMenuInfo getCustomMenuInfoById(@Nonnull UUID customMenuId) throws ApiException { - ApiResponse localVarResponse = getCustomMenuInfoByIdWithHttpInfo(customMenuId, null); + public com.fasterxml.jackson.databind.JsonNode getCustomTranslation(@Nonnull String localeCode) throws ApiException { + ApiResponse localVarResponse = getCustomTranslationWithHttpInfo(localeCode, null); return localVarResponse.getData(); } /** - * Get Custom Menu Info (getCustomMenuInfoById) - * Fetch the Custom Menu Info object based on the provided Custom Menu Id. Security check is performed to verify that the user has 'READ' permission for the custom menu with specified id. - * @param customMenuId A string value representing the custom menu id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * Get Custom Translation configuration (getCustomTranslation) + * Fetch the Custom Translation for specified locale that corresponds to the authority of the user. The API call is designed to load the custom translation items for edition. So, the result is NOT merged with the parent level configuration. Let's assume there is a custom translation configured on a system level. And there is no custom translation items configured on a tenant level. In such a case, the API call will return empty object for the tenant administrator. Response example: ```json {\"home\":\"MyHome\"} ``` Security check is performed to verify that the user has 'READ' permission for the white labeling resource. + * @param localeCode Locale code (e.g. 'en_US'). (required) * @param headers Optional headers to include in the request - * @return ApiResponse<CustomMenuInfo> + * @return ApiResponse<com.fasterxml.jackson.databind.JsonNode> * @throws ApiException if fails to make API call */ - public ApiResponse getCustomMenuInfoByIdWithHttpInfo(@Nonnull UUID customMenuId, Map headers) throws ApiException { - HttpRequest.Builder localVarRequestBuilder = getCustomMenuInfoByIdRequestBuilder(customMenuId, headers); + public ApiResponse getCustomTranslationWithHttpInfo(@Nonnull String localeCode, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getCustomTranslationRequestBuilder(localeCode, headers); try { HttpResponse localVarResponse = memberVarHttpClient.send( localVarRequestBuilder.build(), @@ -22022,15 +25797,15 @@ public ApiResponse getCustomMenuInfoByIdWithHttpInfo(@Nonnull UU InputStream localVarResponseBody = null; try { if (localVarResponse.statusCode()/ 100 != 2) { - throw getApiException("getCustomMenuInfoById", localVarResponse); + throw getApiException("getCustomTranslation", localVarResponse); } localVarResponseBody = ApiClient.getResponseBody(localVarResponse); if (localVarResponseBody == null) { - return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); } String responseBody = new String(localVarResponseBody.readAllBytes()); - CustomMenuInfo responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); - return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + com.fasterxml.jackson.databind.JsonNode responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); } finally { if (localVarResponseBody != null) { localVarResponseBody.close(); @@ -22045,14 +25820,14 @@ public ApiResponse getCustomMenuInfoByIdWithHttpInfo(@Nonnull UU } } - private HttpRequest.Builder getCustomMenuInfoByIdRequestBuilder(@Nonnull UUID customMenuId, Map headers) throws ApiException { - // verify the required parameter 'customMenuId' is set - if (customMenuId == null) { - throw new ApiException(400, "Missing the required parameter 'customMenuId' when calling getCustomMenuInfoById"); + private HttpRequest.Builder getCustomTranslationRequestBuilder(@Nonnull String localeCode, Map headers) throws ApiException { + // verify the required parameter 'localeCode' is set + if (localeCode == null) { + throw new ApiException(400, "Missing the required parameter 'localeCode' when calling getCustomTranslation"); } HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); - String localVarPath = "/api/customMenu/{customMenuId}/info" - .replace("{customMenuId}", ApiClient.urlEncode(customMenuId.toString())); + String localVarPath = "/api/translation/custom/{localeCode}" + .replace("{localeCode}", ApiClient.urlEncode(localeCode.toString())); localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); localVarRequestBuilder.header("Accept", "application/json"); localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); @@ -22068,39 +25843,37 @@ private HttpRequest.Builder getCustomMenuInfoByIdRequestBuilder(@Nonnull UUID cu } /** - * Get all custom menus configured at user level (getCustomMenuInfos) - * Returns a page of custom menu info objects owned by the tenant or the customer of a current user, scope and assigneeType request parameters can be used to filter the result. Security check is performed to verify that the user has 'READ' permission for the white labeling resource. + * Get Customer Agent Infos (getCustomerAgentInfos) + * Returns a page of agent info objects assigned to customer. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + * @param customerId A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) * @param pageSize Maximum amount of entities in a one page (required) * @param page Sequence number of page starting from 0 (required) - * @param scope Custom menu scope. (optional) - * @param assigneeType Custom menu assignee type. (optional) - * @param textSearch The case insensitive 'substring' filter based on the custom menu name. (optional) + * @param textSearch Optional String value representing agent name (optional) * @param sortProperty Property of entity to sort by (optional) * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) - * @return PageDataCustomMenuInfo + * @return PageDataAgentInfo * @throws ApiException if fails to make API call */ - public PageDataCustomMenuInfo getCustomMenuInfos(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable CMScope scope, @Nullable CMAssigneeType assigneeType, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder) throws ApiException { - ApiResponse localVarResponse = getCustomMenuInfosWithHttpInfo(pageSize, page, scope, assigneeType, textSearch, sortProperty, sortOrder, null); + public PageDataAgentInfo getCustomerAgentInfos(@Nonnull String customerId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder) throws ApiException { + ApiResponse localVarResponse = getCustomerAgentInfosWithHttpInfo(customerId, pageSize, page, textSearch, sortProperty, sortOrder, null); return localVarResponse.getData(); } /** - * Get all custom menus configured at user level (getCustomMenuInfos) - * Returns a page of custom menu info objects owned by the tenant or the customer of a current user, scope and assigneeType request parameters can be used to filter the result. Security check is performed to verify that the user has 'READ' permission for the white labeling resource. + * Get Customer Agent Infos (getCustomerAgentInfos) + * Returns a page of agent info objects assigned to customer. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + * @param customerId A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) * @param pageSize Maximum amount of entities in a one page (required) * @param page Sequence number of page starting from 0 (required) - * @param scope Custom menu scope. (optional) - * @param assigneeType Custom menu assignee type. (optional) - * @param textSearch The case insensitive 'substring' filter based on the custom menu name. (optional) + * @param textSearch Optional String value representing agent name (optional) * @param sortProperty Property of entity to sort by (optional) * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) * @param headers Optional headers to include in the request - * @return ApiResponse<PageDataCustomMenuInfo> + * @return ApiResponse<PageDataAgentInfo> * @throws ApiException if fails to make API call */ - public ApiResponse getCustomMenuInfosWithHttpInfo(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable CMScope scope, @Nullable CMAssigneeType assigneeType, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { - HttpRequest.Builder localVarRequestBuilder = getCustomMenuInfosRequestBuilder(pageSize, page, scope, assigneeType, textSearch, sortProperty, sortOrder, headers); + public ApiResponse getCustomerAgentInfosWithHttpInfo(@Nonnull String customerId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getCustomerAgentInfosRequestBuilder(customerId, pageSize, page, textSearch, sortProperty, sortOrder, headers); try { HttpResponse localVarResponse = memberVarHttpClient.send( localVarRequestBuilder.build(), @@ -22111,15 +25884,15 @@ public ApiResponse getCustomMenuInfosWithHttpInfo(@Nonnu InputStream localVarResponseBody = null; try { if (localVarResponse.statusCode()/ 100 != 2) { - throw getApiException("getCustomMenuInfos", localVarResponse); + throw getApiException("getCustomerAgentInfos", localVarResponse); } localVarResponseBody = ApiClient.getResponseBody(localVarResponse); if (localVarResponseBody == null) { - return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); } String responseBody = new String(localVarResponseBody.readAllBytes()); - PageDataCustomMenuInfo responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); - return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + PageDataAgentInfo responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); } finally { if (localVarResponseBody != null) { localVarResponseBody.close(); @@ -22134,24 +25907,25 @@ public ApiResponse getCustomMenuInfosWithHttpInfo(@Nonnu } } - private HttpRequest.Builder getCustomMenuInfosRequestBuilder(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable CMScope scope, @Nullable CMAssigneeType assigneeType, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { + private HttpRequest.Builder getCustomerAgentInfosRequestBuilder(@Nonnull String customerId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { + // verify the required parameter 'customerId' is set + if (customerId == null) { + throw new ApiException(400, "Missing the required parameter 'customerId' when calling getCustomerAgentInfos"); + } // verify the required parameter 'pageSize' is set if (pageSize == null) { - throw new ApiException(400, "Missing the required parameter 'pageSize' when calling getCustomMenuInfos"); + throw new ApiException(400, "Missing the required parameter 'pageSize' when calling getCustomerAgentInfos"); } // verify the required parameter 'page' is set if (page == null) { - throw new ApiException(400, "Missing the required parameter 'page' when calling getCustomMenuInfos"); + throw new ApiException(400, "Missing the required parameter 'page' when calling getCustomerAgentInfos"); } HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); - String localVarPath = "/api/customMenu/infos"; + String localVarPath = "/api/customer/{customerId}/agentInfos" + .replace("{customerId}", ApiClient.urlEncode(customerId.toString())); List localVarQueryParams = new ArrayList<>(); StringJoiner localVarQueryStringJoiner = new StringJoiner("&"); String localVarQueryParameterBaseName; - localVarQueryParameterBaseName = "scope"; - localVarQueryParams.addAll(ApiClient.parameterToPairs("scope", scope)); - localVarQueryParameterBaseName = "assigneeType"; - localVarQueryParams.addAll(ApiClient.parameterToPairs("assigneeType", assigneeType)); localVarQueryParameterBaseName = "pageSize"; localVarQueryParams.addAll(ApiClient.parameterToPairs("pageSize", pageSize)); localVarQueryParameterBaseName = "page"; @@ -22186,27 +25960,37 @@ private HttpRequest.Builder getCustomMenuInfosRequestBuilder(@Nonnull Integer pa } /** - * Get Custom Translation configuration (getCustomTranslation) - * Fetch the Custom Translation for specified locale that corresponds to the authority of the user. The API call is designed to load the custom translation items for edition. So, the result is NOT merged with the parent level configuration. Let's assume there is a custom translation configured on a system level. And there is no custom translation items configured on a tenant level. In such a case, the API call will return empty object for the tenant administrator. Response example: ```json {\"home\":\"MyHome\"} ``` Security check is performed to verify that the user has 'READ' permission for the white labeling resource. - * @param localeCode Locale code (e.g. 'en_US'). (required) - * @return com.fasterxml.jackson.databind.JsonNode + * Get Customer Agents (getCustomerAgents) + * Returns a page of agent objects assigned to customer. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + * @param customerId A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param pageSize Maximum amount of entities in a one page (required) + * @param page Sequence number of page starting from 0 (required) + * @param textSearch Optional String value representing agent name (optional) + * @param sortProperty Property of entity to sort by (optional) + * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) + * @return PageDataAgent * @throws ApiException if fails to make API call */ - public com.fasterxml.jackson.databind.JsonNode getCustomTranslation(@Nonnull String localeCode) throws ApiException { - ApiResponse localVarResponse = getCustomTranslationWithHttpInfo(localeCode, null); + public PageDataAgent getCustomerAgents(@Nonnull String customerId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder) throws ApiException { + ApiResponse localVarResponse = getCustomerAgentsWithHttpInfo(customerId, pageSize, page, textSearch, sortProperty, sortOrder, null); return localVarResponse.getData(); } /** - * Get Custom Translation configuration (getCustomTranslation) - * Fetch the Custom Translation for specified locale that corresponds to the authority of the user. The API call is designed to load the custom translation items for edition. So, the result is NOT merged with the parent level configuration. Let's assume there is a custom translation configured on a system level. And there is no custom translation items configured on a tenant level. In such a case, the API call will return empty object for the tenant administrator. Response example: ```json {\"home\":\"MyHome\"} ``` Security check is performed to verify that the user has 'READ' permission for the white labeling resource. - * @param localeCode Locale code (e.g. 'en_US'). (required) + * Get Customer Agents (getCustomerAgents) + * Returns a page of agent objects assigned to customer. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + * @param customerId A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param pageSize Maximum amount of entities in a one page (required) + * @param page Sequence number of page starting from 0 (required) + * @param textSearch Optional String value representing agent name (optional) + * @param sortProperty Property of entity to sort by (optional) + * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) * @param headers Optional headers to include in the request - * @return ApiResponse<com.fasterxml.jackson.databind.JsonNode> + * @return ApiResponse<PageDataAgent> * @throws ApiException if fails to make API call */ - public ApiResponse getCustomTranslationWithHttpInfo(@Nonnull String localeCode, Map headers) throws ApiException { - HttpRequest.Builder localVarRequestBuilder = getCustomTranslationRequestBuilder(localeCode, headers); + public ApiResponse getCustomerAgentsWithHttpInfo(@Nonnull String customerId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getCustomerAgentsRequestBuilder(customerId, pageSize, page, textSearch, sortProperty, sortOrder, headers); try { HttpResponse localVarResponse = memberVarHttpClient.send( localVarRequestBuilder.build(), @@ -22217,15 +26001,15 @@ public ApiResponse getCustomTranslation InputStream localVarResponseBody = null; try { if (localVarResponse.statusCode()/ 100 != 2) { - throw getApiException("getCustomTranslation", localVarResponse); + throw getApiException("getCustomerAgents", localVarResponse); } localVarResponseBody = ApiClient.getResponseBody(localVarResponse); if (localVarResponseBody == null) { - return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); } String responseBody = new String(localVarResponseBody.readAllBytes()); - com.fasterxml.jackson.databind.JsonNode responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); - return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + PageDataAgent responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); } finally { if (localVarResponseBody != null) { localVarResponseBody.close(); @@ -22240,15 +26024,45 @@ public ApiResponse getCustomTranslation } } - private HttpRequest.Builder getCustomTranslationRequestBuilder(@Nonnull String localeCode, Map headers) throws ApiException { - // verify the required parameter 'localeCode' is set - if (localeCode == null) { - throw new ApiException(400, "Missing the required parameter 'localeCode' when calling getCustomTranslation"); + private HttpRequest.Builder getCustomerAgentsRequestBuilder(@Nonnull String customerId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { + // verify the required parameter 'customerId' is set + if (customerId == null) { + throw new ApiException(400, "Missing the required parameter 'customerId' when calling getCustomerAgents"); + } + // verify the required parameter 'pageSize' is set + if (pageSize == null) { + throw new ApiException(400, "Missing the required parameter 'pageSize' when calling getCustomerAgents"); + } + // verify the required parameter 'page' is set + if (page == null) { + throw new ApiException(400, "Missing the required parameter 'page' when calling getCustomerAgents"); } HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); - String localVarPath = "/api/translation/custom/{localeCode}" - .replace("{localeCode}", ApiClient.urlEncode(localeCode.toString())); - localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + String localVarPath = "/api/customer/{customerId}/agents" + .replace("{customerId}", ApiClient.urlEncode(customerId.toString())); + List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "pageSize"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("pageSize", pageSize)); + localVarQueryParameterBaseName = "page"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("page", page)); + localVarQueryParameterBaseName = "textSearch"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("textSearch", textSearch)); + localVarQueryParameterBaseName = "sortProperty"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("sortProperty", sortProperty)); + localVarQueryParameterBaseName = "sortOrder"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("sortOrder", sortOrder)); + if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) { + StringJoiner queryJoiner = new StringJoiner("&"); + localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryStringJoiner.toString()); + } + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); + } else { + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + } localVarRequestBuilder.header("Accept", "application/json"); localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); if (memberVarReadTimeout != null) { @@ -24730,6 +28544,76 @@ private HttpRequest.Builder getDashboardsByIdsRequestBuilder(@Nonnull List localVarResponse = getDefaultAgentProfileInfoWithHttpInfo(null); + return localVarResponse.getData(); + } + + /** + * Get Default Agent Profile (getDefaultAgentProfileInfo) + * Fetch the Agent Profile Info object that is marked as default within the current tenant scope. Available for users with 'TENANT_ADMIN' authority. + * @param headers Optional headers to include in the request + * @return ApiResponse<AgentProfileInfo> + * @throws ApiException if fails to make API call + */ + public ApiResponse getDefaultAgentProfileInfoWithHttpInfo(Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getDefaultAgentProfileInfoRequestBuilder(headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getDefaultAgentProfileInfo", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + AgentProfileInfo responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getDefaultAgentProfileInfoRequestBuilder(Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/profile/info/default"; + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + /** * Get Default Asset Profile (getDefaultAssetProfileInfo) * Fetch the Default Asset Profile Info object. Asset Profile Info is a lightweight object that includes main information about Asset Profile. Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. @@ -32754,6 +36638,160 @@ private HttpRequest.Builder getLastVisitedDashboardsRequestBuilder(Map localVarResponse = getLatestAgentAppTemplateByAppTypeAndConfigTypeWithHttpInfo(appType, configType, null); + return localVarResponse.getData(); + } + + /** + * Get Agent App Template (getLatestAgentAppTemplateByType) + * Fetch the latest Agent App Template object for the given app type and config type. Available for users with 'TENANT_ADMIN' authority. + * @param appType A string value representing the agent application type, e.g. 'EDGE', 'GATEWAY' (required) + * @param configType A string value representing the agent configuration type, e.g. 'DOCKER_COMPOSE' (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<AgentAppTemplate> + * @throws ApiException if fails to make API call + */ + public ApiResponse getLatestAgentAppTemplateByAppTypeAndConfigTypeWithHttpInfo(@Nonnull AgentApplicationType appType, @Nonnull AgentAppConfigType configType, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getLatestAgentAppTemplateByAppTypeAndConfigTypeRequestBuilder(appType, configType, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getLatestAgentAppTemplateByAppTypeAndConfigType", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + AgentAppTemplate responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getLatestAgentAppTemplateByAppTypeAndConfigTypeRequestBuilder(@Nonnull AgentApplicationType appType, @Nonnull AgentAppConfigType configType, Map headers) throws ApiException { + // verify the required parameter 'appType' is set + if (appType == null) { + throw new ApiException(400, "Missing the required parameter 'appType' when calling getLatestAgentAppTemplateByAppTypeAndConfigType"); + } + // verify the required parameter 'configType' is set + if (configType == null) { + throw new ApiException(400, "Missing the required parameter 'configType' when calling getLatestAgentAppTemplateByAppTypeAndConfigType"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/app/template/{appType}/{configType}/latest" + .replace("{appType}", ApiClient.urlEncode(appType.toString())) + .replace("{configType}", ApiClient.urlEncode(configType.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Get the newest published agent image (getLatestAgentImageRef) + * Returns the newest agent image reference known from the version graph, or the floating tag while no version has been published. Lets a list of agents decide locally which rows are upgradable without asking per row. Available for users with 'TENANT_ADMIN' authority. + * @return String + * @throws ApiException if fails to make API call + */ + public String getLatestAgentImageRef() throws ApiException { + ApiResponse localVarResponse = getLatestAgentImageRefWithHttpInfo(null); + return localVarResponse.getData(); + } + + /** + * Get the newest published agent image (getLatestAgentImageRef) + * Returns the newest agent image reference known from the version graph, or the floating tag while no version has been published. Lets a list of agents decide locally which rows are upgradable without asking per row. Available for users with 'TENANT_ADMIN' authority. + * @param headers Optional headers to include in the request + * @return ApiResponse<String> + * @throws ApiException if fails to make API call + */ + public ApiResponse getLatestAgentImageRefWithHttpInfo(Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getLatestAgentImageRefRequestBuilder(headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getLatestAgentImageRef", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + String responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getLatestAgentImageRefRequestBuilder(Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/upgrade/latest"; + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + /** * Get latest alarm rule debug event (getLatestAlarmRuleDebugEvent) * Gets latest alarm rule debug event for specified alarm rule id. Referencing non-existing alarm rule id will cause an error. Available for users with 'TENANT_ADMIN' authority. @@ -34182,6 +38220,83 @@ private HttpRequest.Builder getMailTemplatesRequestBuilder(@Nullable Boolean sys return localVarRequestBuilder; } + /** + * Get Managed Related Entity Ids (getManagedRelatedEntityIds) + * Returns the ids of entities of the given type that are already linked to an agent application. Available for users with 'TENANT_ADMIN' authority. + * @param entityType Related entity type (EDGE or DEVICE) (required) + * @return List<GetManagedRelatedEntityIds200ResponseInner> + * @throws ApiException if fails to make API call + */ + public List getManagedRelatedEntityIds(@Nonnull String entityType) throws ApiException { + ApiResponse> localVarResponse = getManagedRelatedEntityIdsWithHttpInfo(entityType, null); + return localVarResponse.getData(); + } + + /** + * Get Managed Related Entity Ids (getManagedRelatedEntityIds) + * Returns the ids of entities of the given type that are already linked to an agent application. Available for users with 'TENANT_ADMIN' authority. + * @param entityType Related entity type (EDGE or DEVICE) (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<List<GetManagedRelatedEntityIds200ResponseInner>> + * @throws ApiException if fails to make API call + */ + public ApiResponse> getManagedRelatedEntityIdsWithHttpInfo(@Nonnull String entityType, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getManagedRelatedEntityIdsRequestBuilder(entityType, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getManagedRelatedEntityIds", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse>(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + List responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference>() {}); + return new ApiResponse>(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getManagedRelatedEntityIdsRequestBuilder(@Nonnull String entityType, Map headers) throws ApiException { + // verify the required parameter 'entityType' is set + if (entityType == null) { + throw new ApiException(400, "Missing the required parameter 'entityType' when calling getManagedRelatedEntityIds"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/app/managedRelatedEntities/{entityType}" + .replace("{entityType}", ApiClient.urlEncode(entityType.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + /** * Get max data points limit (getMaxDatapointsLimit) * Get the maximum number of data points that dashboard may request from the server per in a single subscription command. This value impacts the time window behavior. It impacts 'Max values' parameter in case user selects 'None' as 'Data aggregation function'. It also impacts the 'Grouping interval' in case of any other 'Data aggregation function' is selected. The actual value of the limit is configurable in the system configuration file. @@ -37742,6 +41857,120 @@ private HttpRequest.Builder getRecipientsForNotificationTargetConfigRequestBuild return localVarRequestBuilder; } + /** + * Get Related Entity Candidates (getRelatedEntityCandidates) + * Returns a page of Edges or Gateway Devices (devices with 'gateway' set in additional info) that can be linked to an agent application. Entities already linked to another application are excluded unless passed as 'currentEntityId'. Results are sorted by name. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + * @param entityType Related entity type (EDGE or DEVICE) (required) + * @param pageSize Maximum amount of entities in a one page (required) + * @param page Sequence number of page starting from 0 (required) + * @param textSearch Optional String value representing entity name (optional) + * @param currentEntityId Optional id of the entity currently linked to the edited application; it is kept in the result even though it is managed (optional) + * @return PageDataEntityInfo + * @throws ApiException if fails to make API call + */ + public PageDataEntityInfo getRelatedEntityCandidates(@Nonnull String entityType, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String currentEntityId) throws ApiException { + ApiResponse localVarResponse = getRelatedEntityCandidatesWithHttpInfo(entityType, pageSize, page, textSearch, currentEntityId, null); + return localVarResponse.getData(); + } + + /** + * Get Related Entity Candidates (getRelatedEntityCandidates) + * Returns a page of Edges or Gateway Devices (devices with 'gateway' set in additional info) that can be linked to an agent application. Entities already linked to another application are excluded unless passed as 'currentEntityId'. Results are sorted by name. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + * @param entityType Related entity type (EDGE or DEVICE) (required) + * @param pageSize Maximum amount of entities in a one page (required) + * @param page Sequence number of page starting from 0 (required) + * @param textSearch Optional String value representing entity name (optional) + * @param currentEntityId Optional id of the entity currently linked to the edited application; it is kept in the result even though it is managed (optional) + * @param headers Optional headers to include in the request + * @return ApiResponse<PageDataEntityInfo> + * @throws ApiException if fails to make API call + */ + public ApiResponse getRelatedEntityCandidatesWithHttpInfo(@Nonnull String entityType, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String currentEntityId, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getRelatedEntityCandidatesRequestBuilder(entityType, pageSize, page, textSearch, currentEntityId, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getRelatedEntityCandidates", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + PageDataEntityInfo responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getRelatedEntityCandidatesRequestBuilder(@Nonnull String entityType, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String currentEntityId, Map headers) throws ApiException { + // verify the required parameter 'entityType' is set + if (entityType == null) { + throw new ApiException(400, "Missing the required parameter 'entityType' when calling getRelatedEntityCandidates"); + } + // verify the required parameter 'pageSize' is set + if (pageSize == null) { + throw new ApiException(400, "Missing the required parameter 'pageSize' when calling getRelatedEntityCandidates"); + } + // verify the required parameter 'page' is set + if (page == null) { + throw new ApiException(400, "Missing the required parameter 'page' when calling getRelatedEntityCandidates"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/app/relatedEntityCandidates"; + List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "entityType"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("entityType", entityType)); + localVarQueryParameterBaseName = "pageSize"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("pageSize", pageSize)); + localVarQueryParameterBaseName = "page"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("page", page)); + localVarQueryParameterBaseName = "textSearch"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("textSearch", textSearch)); + localVarQueryParameterBaseName = "currentEntityId"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("currentEntityId", currentEntityId)); + if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) { + StringJoiner queryJoiner = new StringJoiner("&"); + localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryStringJoiner.toString()); + } + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); + } else { + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + } + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + /** * Get Relation (getRelation) * Returns relation object between two specified entities if present. Otherwise throws exception. If the user has the authority of 'System Administrator', the server checks that 'from' and 'to' entities are owned by the sysadmin. If the user has the authority of 'Tenant Administrator', the server checks that 'from' and 'to' entities are owned by the same tenant. If the user has the authority of 'Customer User', the server checks that the 'from' and 'to' entities are assigned to the same customer. @@ -41296,27 +45525,459 @@ private HttpRequest.Builder getSignUpSelfRegistrationParamsRequestBuilder(@Nulla } /** - * getSolution - * - * @param solutionId (required) - * @return com.fasterxml.jackson.databind.JsonNode + * getSolution + * + * @param solutionId (required) + * @return com.fasterxml.jackson.databind.JsonNode + * @throws ApiException if fails to make API call + */ + public com.fasterxml.jackson.databind.JsonNode getSolution(@Nonnull UUID solutionId) throws ApiException { + ApiResponse localVarResponse = getSolutionWithHttpInfo(solutionId, null); + return localVarResponse.getData(); + } + + /** + * getSolution + * + * @param solutionId (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<com.fasterxml.jackson.databind.JsonNode> + * @throws ApiException if fails to make API call + */ + public ApiResponse getSolutionWithHttpInfo(@Nonnull UUID solutionId, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getSolutionRequestBuilder(solutionId, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getSolution", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + com.fasterxml.jackson.databind.JsonNode responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getSolutionRequestBuilder(@Nonnull UUID solutionId, Map headers) throws ApiException { + // verify the required parameter 'solutionId' is set + if (solutionId == null) { + throw new ApiException(400, "Missing the required parameter 'solutionId' when calling getSolution"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/ai/solution/{solutionId}" + .replace("{solutionId}", ApiClient.urlEncode(solutionId.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * getSolutions + * + * @return com.fasterxml.jackson.databind.JsonNode + * @throws ApiException if fails to make API call + */ + public com.fasterxml.jackson.databind.JsonNode getSolutions() throws ApiException { + ApiResponse localVarResponse = getSolutionsWithHttpInfo(null); + return localVarResponse.getData(); + } + + /** + * getSolutions + * + * @param headers Optional headers to include in the request + * @return ApiResponse<com.fasterxml.jackson.databind.JsonNode> + * @throws ApiException if fails to make API call + */ + public ApiResponse getSolutionsWithHttpInfo(Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getSolutionsRequestBuilder(headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getSolutions", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + com.fasterxml.jackson.databind.JsonNode responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getSolutionsRequestBuilder(Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/ai/solution/infos"; + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Get system info (getSystemInfo) + * Get main information about system. Available for users with 'SYS_ADMIN' authority. + * @return SystemInfo + * @throws ApiException if fails to make API call + */ + public SystemInfo getSystemInfo() throws ApiException { + ApiResponse localVarResponse = getSystemInfoWithHttpInfo(null); + return localVarResponse.getData(); + } + + /** + * Get system info (getSystemInfo) + * Get main information about system. Available for users with 'SYS_ADMIN' authority. + * @param headers Optional headers to include in the request + * @return ApiResponse<SystemInfo> + * @throws ApiException if fails to make API call + */ + public ApiResponse getSystemInfoWithHttpInfo(Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getSystemInfoRequestBuilder(headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getSystemInfo", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + SystemInfo responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getSystemInfoRequestBuilder(Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/admin/systemInfo"; + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Get Resource Infos by ids (getSystemOrTenantResourcesByIds) + * + * @param resourceIds A list of resource ids, separated by comma ',' (required) + * @return List<TbResourceInfo> + * @throws ApiException if fails to make API call + */ + public List getSystemOrTenantResourcesByIds(@Nonnull List resourceIds) throws ApiException { + ApiResponse> localVarResponse = getSystemOrTenantResourcesByIdsWithHttpInfo(resourceIds, null); + return localVarResponse.getData(); + } + + /** + * Get Resource Infos by ids (getSystemOrTenantResourcesByIds) + * + * @param resourceIds A list of resource ids, separated by comma ',' (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<List<TbResourceInfo>> + * @throws ApiException if fails to make API call + */ + public ApiResponse> getSystemOrTenantResourcesByIdsWithHttpInfo(@Nonnull List resourceIds, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getSystemOrTenantResourcesByIdsRequestBuilder(resourceIds, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getSystemOrTenantResourcesByIds", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse>(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + List responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference>() {}); + return new ApiResponse>(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getSystemOrTenantResourcesByIdsRequestBuilder(@Nonnull List resourceIds, Map headers) throws ApiException { + // verify the required parameter 'resourceIds' is set + if (resourceIds == null) { + throw new ApiException(400, "Missing the required parameter 'resourceIds' when calling getSystemOrTenantResourcesByIds"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/resource/list"; + List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "resourceIds"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("multi", "resourceIds", resourceIds)); + if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) { + StringJoiner queryJoiner = new StringJoiner("&"); + localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryStringJoiner.toString()); + } + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); + } else { + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + } + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Get Tenant Users (getTenantAdmins) + * Returns a page of users owned by tenant. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'SYS_ADMIN' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities). + * @param tenantId A string value representing the tenant id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param pageSize Maximum amount of entities in a one page (required) + * @param page Sequence number of page starting from 0 (required) + * @param textSearch The case insensitive 'substring' filter based on the user email. (optional) + * @param sortProperty Property of entity to sort by (optional) + * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) + * @return PageDataUser + * @throws ApiException if fails to make API call + */ + public PageDataUser getTenantAdmins(@Nonnull String tenantId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder) throws ApiException { + ApiResponse localVarResponse = getTenantAdminsWithHttpInfo(tenantId, pageSize, page, textSearch, sortProperty, sortOrder, null); + return localVarResponse.getData(); + } + + /** + * Get Tenant Users (getTenantAdmins) + * Returns a page of users owned by tenant. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'SYS_ADMIN' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities). + * @param tenantId A string value representing the tenant id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param pageSize Maximum amount of entities in a one page (required) + * @param page Sequence number of page starting from 0 (required) + * @param textSearch The case insensitive 'substring' filter based on the user email. (optional) + * @param sortProperty Property of entity to sort by (optional) + * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) + * @param headers Optional headers to include in the request + * @return ApiResponse<PageDataUser> + * @throws ApiException if fails to make API call + */ + public ApiResponse getTenantAdminsWithHttpInfo(@Nonnull String tenantId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getTenantAdminsRequestBuilder(tenantId, pageSize, page, textSearch, sortProperty, sortOrder, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("getTenantAdmins", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + PageDataUser responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder getTenantAdminsRequestBuilder(@Nonnull String tenantId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { + // verify the required parameter 'tenantId' is set + if (tenantId == null) { + throw new ApiException(400, "Missing the required parameter 'tenantId' when calling getTenantAdmins"); + } + // verify the required parameter 'pageSize' is set + if (pageSize == null) { + throw new ApiException(400, "Missing the required parameter 'pageSize' when calling getTenantAdmins"); + } + // verify the required parameter 'page' is set + if (page == null) { + throw new ApiException(400, "Missing the required parameter 'page' when calling getTenantAdmins"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/tenant/{tenantId}/users" + .replace("{tenantId}", ApiClient.urlEncode(tenantId.toString())); + List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "pageSize"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("pageSize", pageSize)); + localVarQueryParameterBaseName = "page"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("page", page)); + localVarQueryParameterBaseName = "textSearch"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("textSearch", textSearch)); + localVarQueryParameterBaseName = "sortProperty"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("sortProperty", sortProperty)); + localVarQueryParameterBaseName = "sortOrder"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("sortOrder", sortOrder)); + if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) { + StringJoiner queryJoiner = new StringJoiner("&"); + localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryStringJoiner.toString()); + } + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); + } else { + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + } + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Get Tenant Agent Application Profiles (getTenantAgentAppProfiles) + * Returns a page of agent application profiles owned by tenant.You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + * @param pageSize Maximum amount of entities in a one page (required) + * @param page Sequence number of page starting from 0 (required) + * @param textSearch Optional search text (optional) + * @param sortProperty Property of entity to sort by (optional) + * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) + * @return PageDataAgentAppProfile * @throws ApiException if fails to make API call */ - public com.fasterxml.jackson.databind.JsonNode getSolution(@Nonnull UUID solutionId) throws ApiException { - ApiResponse localVarResponse = getSolutionWithHttpInfo(solutionId, null); + public PageDataAgentAppProfile getTenantAgentAppProfiles(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder) throws ApiException { + ApiResponse localVarResponse = getTenantAgentAppProfilesWithHttpInfo(pageSize, page, textSearch, sortProperty, sortOrder, null); return localVarResponse.getData(); } /** - * getSolution - * - * @param solutionId (required) + * Get Tenant Agent Application Profiles (getTenantAgentAppProfiles) + * Returns a page of agent application profiles owned by tenant.You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + * @param pageSize Maximum amount of entities in a one page (required) + * @param page Sequence number of page starting from 0 (required) + * @param textSearch Optional search text (optional) + * @param sortProperty Property of entity to sort by (optional) + * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) * @param headers Optional headers to include in the request - * @return ApiResponse<com.fasterxml.jackson.databind.JsonNode> + * @return ApiResponse<PageDataAgentAppProfile> * @throws ApiException if fails to make API call */ - public ApiResponse getSolutionWithHttpInfo(@Nonnull UUID solutionId, Map headers) throws ApiException { - HttpRequest.Builder localVarRequestBuilder = getSolutionRequestBuilder(solutionId, headers); + public ApiResponse getTenantAgentAppProfilesWithHttpInfo(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getTenantAgentAppProfilesRequestBuilder(pageSize, page, textSearch, sortProperty, sortOrder, headers); try { HttpResponse localVarResponse = memberVarHttpClient.send( localVarRequestBuilder.build(), @@ -41327,15 +45988,15 @@ public ApiResponse getSolutionWithHttpI InputStream localVarResponseBody = null; try { if (localVarResponse.statusCode()/ 100 != 2) { - throw getApiException("getSolution", localVarResponse); + throw getApiException("getTenantAgentAppProfiles", localVarResponse); } localVarResponseBody = ApiClient.getResponseBody(localVarResponse); if (localVarResponseBody == null) { - return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); } String responseBody = new String(localVarResponseBody.readAllBytes()); - com.fasterxml.jackson.databind.JsonNode responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); - return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + PageDataAgentAppProfile responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); } finally { if (localVarResponseBody != null) { localVarResponseBody.close(); @@ -41350,15 +46011,40 @@ public ApiResponse getSolutionWithHttpI } } - private HttpRequest.Builder getSolutionRequestBuilder(@Nonnull UUID solutionId, Map headers) throws ApiException { - // verify the required parameter 'solutionId' is set - if (solutionId == null) { - throw new ApiException(400, "Missing the required parameter 'solutionId' when calling getSolution"); + private HttpRequest.Builder getTenantAgentAppProfilesRequestBuilder(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { + // verify the required parameter 'pageSize' is set + if (pageSize == null) { + throw new ApiException(400, "Missing the required parameter 'pageSize' when calling getTenantAgentAppProfiles"); + } + // verify the required parameter 'page' is set + if (page == null) { + throw new ApiException(400, "Missing the required parameter 'page' when calling getTenantAgentAppProfiles"); } HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); - String localVarPath = "/api/ai/solution/{solutionId}" - .replace("{solutionId}", ApiClient.urlEncode(solutionId.toString())); - localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + String localVarPath = "/api/tenant/agent/app/profiles"; + List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "pageSize"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("pageSize", pageSize)); + localVarQueryParameterBaseName = "page"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("page", page)); + localVarQueryParameterBaseName = "textSearch"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("textSearch", textSearch)); + localVarQueryParameterBaseName = "sortProperty"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("sortProperty", sortProperty)); + localVarQueryParameterBaseName = "sortOrder"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("sortOrder", sortOrder)); + if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) { + StringJoiner queryJoiner = new StringJoiner("&"); + localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryStringJoiner.toString()); + } + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); + } else { + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + } localVarRequestBuilder.header("Accept", "application/json"); localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); if (memberVarReadTimeout != null) { @@ -41373,25 +46059,35 @@ private HttpRequest.Builder getSolutionRequestBuilder(@Nonnull UUID solutionId, } /** - * getSolutions - * - * @return com.fasterxml.jackson.databind.JsonNode + * Get Tenant Agent Infos (getTenantAgentInfos) + * Returns a page of agent info objects owned by tenant. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + * @param pageSize Maximum amount of entities in a one page (required) + * @param page Sequence number of page starting from 0 (required) + * @param textSearch Optional String value representing agent name (optional) + * @param sortProperty Property of entity to sort by (optional) + * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) + * @return PageDataAgentInfo * @throws ApiException if fails to make API call */ - public com.fasterxml.jackson.databind.JsonNode getSolutions() throws ApiException { - ApiResponse localVarResponse = getSolutionsWithHttpInfo(null); + public PageDataAgentInfo getTenantAgentInfos(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder) throws ApiException { + ApiResponse localVarResponse = getTenantAgentInfosWithHttpInfo(pageSize, page, textSearch, sortProperty, sortOrder, null); return localVarResponse.getData(); } /** - * getSolutions - * + * Get Tenant Agent Infos (getTenantAgentInfos) + * Returns a page of agent info objects owned by tenant. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + * @param pageSize Maximum amount of entities in a one page (required) + * @param page Sequence number of page starting from 0 (required) + * @param textSearch Optional String value representing agent name (optional) + * @param sortProperty Property of entity to sort by (optional) + * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) * @param headers Optional headers to include in the request - * @return ApiResponse<com.fasterxml.jackson.databind.JsonNode> + * @return ApiResponse<PageDataAgentInfo> * @throws ApiException if fails to make API call */ - public ApiResponse getSolutionsWithHttpInfo(Map headers) throws ApiException { - HttpRequest.Builder localVarRequestBuilder = getSolutionsRequestBuilder(headers); + public ApiResponse getTenantAgentInfosWithHttpInfo(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getTenantAgentInfosRequestBuilder(pageSize, page, textSearch, sortProperty, sortOrder, headers); try { HttpResponse localVarResponse = memberVarHttpClient.send( localVarRequestBuilder.build(), @@ -41402,15 +46098,15 @@ public ApiResponse getSolutionsWithHttp InputStream localVarResponseBody = null; try { if (localVarResponse.statusCode()/ 100 != 2) { - throw getApiException("getSolutions", localVarResponse); + throw getApiException("getTenantAgentInfos", localVarResponse); } localVarResponseBody = ApiClient.getResponseBody(localVarResponse); if (localVarResponseBody == null) { - return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); } String responseBody = new String(localVarResponseBody.readAllBytes()); - com.fasterxml.jackson.databind.JsonNode responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); - return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + PageDataAgentInfo responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); } finally { if (localVarResponseBody != null) { localVarResponseBody.close(); @@ -41425,10 +46121,40 @@ public ApiResponse getSolutionsWithHttp } } - private HttpRequest.Builder getSolutionsRequestBuilder(Map headers) throws ApiException { + private HttpRequest.Builder getTenantAgentInfosRequestBuilder(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { + // verify the required parameter 'pageSize' is set + if (pageSize == null) { + throw new ApiException(400, "Missing the required parameter 'pageSize' when calling getTenantAgentInfos"); + } + // verify the required parameter 'page' is set + if (page == null) { + throw new ApiException(400, "Missing the required parameter 'page' when calling getTenantAgentInfos"); + } HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); - String localVarPath = "/api/ai/solution/infos"; - localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + String localVarPath = "/api/tenant/agentInfos"; + List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "pageSize"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("pageSize", pageSize)); + localVarQueryParameterBaseName = "page"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("page", page)); + localVarQueryParameterBaseName = "textSearch"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("textSearch", textSearch)); + localVarQueryParameterBaseName = "sortProperty"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("sortProperty", sortProperty)); + localVarQueryParameterBaseName = "sortOrder"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("sortOrder", sortOrder)); + if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) { + StringJoiner queryJoiner = new StringJoiner("&"); + localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryStringJoiner.toString()); + } + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); + } else { + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + } localVarRequestBuilder.header("Accept", "application/json"); localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); if (memberVarReadTimeout != null) { @@ -41443,25 +46169,35 @@ private HttpRequest.Builder getSolutionsRequestBuilder(Map heade } /** - * Get system info (getSystemInfo) - * Get main information about system. Available for users with 'SYS_ADMIN' authority. - * @return SystemInfo + * Get Tenant Agent Profile Infos (getTenantAgentProfileInfos) + * Returns a page of Agent Profile Info objects owned by the current tenant. Agent Profile Info is a lightweight object that contains only id and name of the profile. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + * @param pageSize Maximum amount of entities in a one page (required) + * @param page Sequence number of page starting from 0 (required) + * @param textSearch (optional) + * @param sortProperty Property of entity to sort by (optional) + * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) + * @return PageDataAgentProfileInfo * @throws ApiException if fails to make API call */ - public SystemInfo getSystemInfo() throws ApiException { - ApiResponse localVarResponse = getSystemInfoWithHttpInfo(null); + public PageDataAgentProfileInfo getTenantAgentProfileInfos(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder) throws ApiException { + ApiResponse localVarResponse = getTenantAgentProfileInfosWithHttpInfo(pageSize, page, textSearch, sortProperty, sortOrder, null); return localVarResponse.getData(); } /** - * Get system info (getSystemInfo) - * Get main information about system. Available for users with 'SYS_ADMIN' authority. + * Get Tenant Agent Profile Infos (getTenantAgentProfileInfos) + * Returns a page of Agent Profile Info objects owned by the current tenant. Agent Profile Info is a lightweight object that contains only id and name of the profile. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + * @param pageSize Maximum amount of entities in a one page (required) + * @param page Sequence number of page starting from 0 (required) + * @param textSearch (optional) + * @param sortProperty Property of entity to sort by (optional) + * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) * @param headers Optional headers to include in the request - * @return ApiResponse<SystemInfo> + * @return ApiResponse<PageDataAgentProfileInfo> * @throws ApiException if fails to make API call */ - public ApiResponse getSystemInfoWithHttpInfo(Map headers) throws ApiException { - HttpRequest.Builder localVarRequestBuilder = getSystemInfoRequestBuilder(headers); + public ApiResponse getTenantAgentProfileInfosWithHttpInfo(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getTenantAgentProfileInfosRequestBuilder(pageSize, page, textSearch, sortProperty, sortOrder, headers); try { HttpResponse localVarResponse = memberVarHttpClient.send( localVarRequestBuilder.build(), @@ -41472,15 +46208,15 @@ public ApiResponse getSystemInfoWithHttpInfo(Map hea InputStream localVarResponseBody = null; try { if (localVarResponse.statusCode()/ 100 != 2) { - throw getApiException("getSystemInfo", localVarResponse); + throw getApiException("getTenantAgentProfileInfos", localVarResponse); } localVarResponseBody = ApiClient.getResponseBody(localVarResponse); if (localVarResponseBody == null) { - return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); } String responseBody = new String(localVarResponseBody.readAllBytes()); - SystemInfo responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); - return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + PageDataAgentProfileInfo responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); } finally { if (localVarResponseBody != null) { localVarResponseBody.close(); @@ -41495,10 +46231,40 @@ public ApiResponse getSystemInfoWithHttpInfo(Map hea } } - private HttpRequest.Builder getSystemInfoRequestBuilder(Map headers) throws ApiException { + private HttpRequest.Builder getTenantAgentProfileInfosRequestBuilder(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { + // verify the required parameter 'pageSize' is set + if (pageSize == null) { + throw new ApiException(400, "Missing the required parameter 'pageSize' when calling getTenantAgentProfileInfos"); + } + // verify the required parameter 'page' is set + if (page == null) { + throw new ApiException(400, "Missing the required parameter 'page' when calling getTenantAgentProfileInfos"); + } HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); - String localVarPath = "/api/admin/systemInfo"; - localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + String localVarPath = "/api/tenant/agent/profileInfos"; + List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "pageSize"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("pageSize", pageSize)); + localVarQueryParameterBaseName = "page"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("page", page)); + localVarQueryParameterBaseName = "textSearch"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("textSearch", textSearch)); + localVarQueryParameterBaseName = "sortProperty"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("sortProperty", sortProperty)); + localVarQueryParameterBaseName = "sortOrder"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("sortOrder", sortOrder)); + if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) { + StringJoiner queryJoiner = new StringJoiner("&"); + localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryStringJoiner.toString()); + } + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); + } else { + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + } localVarRequestBuilder.header("Accept", "application/json"); localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); if (memberVarReadTimeout != null) { @@ -41513,27 +46279,35 @@ private HttpRequest.Builder getSystemInfoRequestBuilder(Map head } /** - * Get Resource Infos by ids (getSystemOrTenantResourcesByIds) - * - * @param resourceIds A list of resource ids, separated by comma ',' (required) - * @return List<TbResourceInfo> + * Get Tenant Agent Profiles (getTenantAgentProfiles) + * Returns a page of Agent Profile objects owned by the current tenant. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + * @param pageSize Maximum amount of entities in a one page (required) + * @param page Sequence number of page starting from 0 (required) + * @param textSearch (optional) + * @param sortProperty Property of entity to sort by (optional) + * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) + * @return PageDataAgentProfile * @throws ApiException if fails to make API call */ - public List getSystemOrTenantResourcesByIds(@Nonnull List resourceIds) throws ApiException { - ApiResponse> localVarResponse = getSystemOrTenantResourcesByIdsWithHttpInfo(resourceIds, null); + public PageDataAgentProfile getTenantAgentProfiles(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder) throws ApiException { + ApiResponse localVarResponse = getTenantAgentProfilesWithHttpInfo(pageSize, page, textSearch, sortProperty, sortOrder, null); return localVarResponse.getData(); } /** - * Get Resource Infos by ids (getSystemOrTenantResourcesByIds) - * - * @param resourceIds A list of resource ids, separated by comma ',' (required) + * Get Tenant Agent Profiles (getTenantAgentProfiles) + * Returns a page of Agent Profile objects owned by the current tenant. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. + * @param pageSize Maximum amount of entities in a one page (required) + * @param page Sequence number of page starting from 0 (required) + * @param textSearch (optional) + * @param sortProperty Property of entity to sort by (optional) + * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) * @param headers Optional headers to include in the request - * @return ApiResponse<List<TbResourceInfo>> + * @return ApiResponse<PageDataAgentProfile> * @throws ApiException if fails to make API call */ - public ApiResponse> getSystemOrTenantResourcesByIdsWithHttpInfo(@Nonnull List resourceIds, Map headers) throws ApiException { - HttpRequest.Builder localVarRequestBuilder = getSystemOrTenantResourcesByIdsRequestBuilder(resourceIds, headers); + public ApiResponse getTenantAgentProfilesWithHttpInfo(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getTenantAgentProfilesRequestBuilder(pageSize, page, textSearch, sortProperty, sortOrder, headers); try { HttpResponse localVarResponse = memberVarHttpClient.send( localVarRequestBuilder.build(), @@ -41544,15 +46318,15 @@ public ApiResponse> getSystemOrTenantResourcesByIdsWithHttp InputStream localVarResponseBody = null; try { if (localVarResponse.statusCode()/ 100 != 2) { - throw getApiException("getSystemOrTenantResourcesByIds", localVarResponse); + throw getApiException("getTenantAgentProfiles", localVarResponse); } localVarResponseBody = ApiClient.getResponseBody(localVarResponse); if (localVarResponseBody == null) { - return new ApiResponse>(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); } String responseBody = new String(localVarResponseBody.readAllBytes()); - List responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference>() {}); - return new ApiResponse>(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + PageDataAgentProfile responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); } finally { if (localVarResponseBody != null) { localVarResponseBody.close(); @@ -41567,18 +46341,30 @@ public ApiResponse> getSystemOrTenantResourcesByIdsWithHttp } } - private HttpRequest.Builder getSystemOrTenantResourcesByIdsRequestBuilder(@Nonnull List resourceIds, Map headers) throws ApiException { - // verify the required parameter 'resourceIds' is set - if (resourceIds == null) { - throw new ApiException(400, "Missing the required parameter 'resourceIds' when calling getSystemOrTenantResourcesByIds"); + private HttpRequest.Builder getTenantAgentProfilesRequestBuilder(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { + // verify the required parameter 'pageSize' is set + if (pageSize == null) { + throw new ApiException(400, "Missing the required parameter 'pageSize' when calling getTenantAgentProfiles"); + } + // verify the required parameter 'page' is set + if (page == null) { + throw new ApiException(400, "Missing the required parameter 'page' when calling getTenantAgentProfiles"); } HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); - String localVarPath = "/api/resource/list"; + String localVarPath = "/api/tenant/agent/profiles"; List localVarQueryParams = new ArrayList<>(); StringJoiner localVarQueryStringJoiner = new StringJoiner("&"); String localVarQueryParameterBaseName; - localVarQueryParameterBaseName = "resourceIds"; - localVarQueryParams.addAll(ApiClient.parameterToPairs("multi", "resourceIds", resourceIds)); + localVarQueryParameterBaseName = "pageSize"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("pageSize", pageSize)); + localVarQueryParameterBaseName = "page"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("page", page)); + localVarQueryParameterBaseName = "textSearch"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("textSearch", textSearch)); + localVarQueryParameterBaseName = "sortProperty"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("sortProperty", sortProperty)); + localVarQueryParameterBaseName = "sortOrder"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("sortOrder", sortOrder)); if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) { StringJoiner queryJoiner = new StringJoiner("&"); localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); @@ -41603,37 +46389,35 @@ private HttpRequest.Builder getSystemOrTenantResourcesByIdsRequestBuilder(@Nonnu } /** - * Get Tenant Users (getTenantAdmins) - * Returns a page of users owned by tenant. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'SYS_ADMIN' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities). - * @param tenantId A string value representing the tenant id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * Get Tenant Agents (getTenantAgents) + * Returns a page of agents owned by tenant. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. * @param pageSize Maximum amount of entities in a one page (required) * @param page Sequence number of page starting from 0 (required) - * @param textSearch The case insensitive 'substring' filter based on the user email. (optional) + * @param textSearch Optional String value representing agent name (optional) * @param sortProperty Property of entity to sort by (optional) * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) - * @return PageDataUser + * @return PageDataAgent * @throws ApiException if fails to make API call */ - public PageDataUser getTenantAdmins(@Nonnull String tenantId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder) throws ApiException { - ApiResponse localVarResponse = getTenantAdminsWithHttpInfo(tenantId, pageSize, page, textSearch, sortProperty, sortOrder, null); + public PageDataAgent getTenantAgents(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder) throws ApiException { + ApiResponse localVarResponse = getTenantAgentsWithHttpInfo(pageSize, page, textSearch, sortProperty, sortOrder, null); return localVarResponse.getData(); } /** - * Get Tenant Users (getTenantAdmins) - * Returns a page of users owned by tenant. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'SYS_ADMIN' authority. Security check is performed to verify that the user has 'READ' permission for the entity (entities). - * @param tenantId A string value representing the tenant id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * Get Tenant Agents (getTenantAgents) + * Returns a page of agents owned by tenant. You can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using pagination. See response schema for more details. Available for users with 'TENANT_ADMIN' authority. * @param pageSize Maximum amount of entities in a one page (required) * @param page Sequence number of page starting from 0 (required) - * @param textSearch The case insensitive 'substring' filter based on the user email. (optional) + * @param textSearch Optional String value representing agent name (optional) * @param sortProperty Property of entity to sort by (optional) * @param sortOrder Sort order. ASC (ASCENDING) or DESC (DESCENDING) (optional) * @param headers Optional headers to include in the request - * @return ApiResponse<PageDataUser> + * @return ApiResponse<PageDataAgent> * @throws ApiException if fails to make API call */ - public ApiResponse getTenantAdminsWithHttpInfo(@Nonnull String tenantId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { - HttpRequest.Builder localVarRequestBuilder = getTenantAdminsRequestBuilder(tenantId, pageSize, page, textSearch, sortProperty, sortOrder, headers); + public ApiResponse getTenantAgentsWithHttpInfo(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = getTenantAgentsRequestBuilder(pageSize, page, textSearch, sortProperty, sortOrder, headers); try { HttpResponse localVarResponse = memberVarHttpClient.send( localVarRequestBuilder.build(), @@ -41644,15 +46428,15 @@ public ApiResponse getTenantAdminsWithHttpInfo(@Nonnull String ten InputStream localVarResponseBody = null; try { if (localVarResponse.statusCode()/ 100 != 2) { - throw getApiException("getTenantAdmins", localVarResponse); + throw getApiException("getTenantAgents", localVarResponse); } localVarResponseBody = ApiClient.getResponseBody(localVarResponse); if (localVarResponseBody == null) { - return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); } String responseBody = new String(localVarResponseBody.readAllBytes()); - PageDataUser responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); - return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + PageDataAgent responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); } finally { if (localVarResponseBody != null) { localVarResponseBody.close(); @@ -41667,22 +46451,17 @@ public ApiResponse getTenantAdminsWithHttpInfo(@Nonnull String ten } } - private HttpRequest.Builder getTenantAdminsRequestBuilder(@Nonnull String tenantId, @Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { - // verify the required parameter 'tenantId' is set - if (tenantId == null) { - throw new ApiException(400, "Missing the required parameter 'tenantId' when calling getTenantAdmins"); - } + private HttpRequest.Builder getTenantAgentsRequestBuilder(@Nonnull Integer pageSize, @Nonnull Integer page, @Nullable String textSearch, @Nullable String sortProperty, @Nullable String sortOrder, Map headers) throws ApiException { // verify the required parameter 'pageSize' is set if (pageSize == null) { - throw new ApiException(400, "Missing the required parameter 'pageSize' when calling getTenantAdmins"); + throw new ApiException(400, "Missing the required parameter 'pageSize' when calling getTenantAgents"); } // verify the required parameter 'page' is set if (page == null) { - throw new ApiException(400, "Missing the required parameter 'page' when calling getTenantAdmins"); + throw new ApiException(400, "Missing the required parameter 'page' when calling getTenantAgents"); } HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); - String localVarPath = "/api/tenant/{tenantId}/users" - .replace("{tenantId}", ApiClient.urlEncode(tenantId.toString())); + String localVarPath = "/api/tenant/agents"; List localVarQueryParams = new ArrayList<>(); StringJoiner localVarQueryStringJoiner = new StringJoiner("&"); String localVarQueryParameterBaseName; @@ -50372,6 +55151,88 @@ private HttpRequest.Builder importSolutionRequestBuilder(@Nonnull SolutionData s return localVarRequestBuilder; } + /** + * Install Agent Application (installAgentApp) + * Creates a new agent application and an INSTALL event in a single operation. Returns both the created application and the INSTALL event so the caller can open a progress view without a second round-trip. The request body must include the application object. Available for users with 'TENANT_ADMIN' authority. + * @param agentAppEventRequest A JSON value representing the install event request with the application. (required) + * @return AgentAppInstallResponse + * @throws ApiException if fails to make API call + */ + public AgentAppInstallResponse installAgentApp(@Nonnull AgentAppEventRequest agentAppEventRequest) throws ApiException { + ApiResponse localVarResponse = installAgentAppWithHttpInfo(agentAppEventRequest, null); + return localVarResponse.getData(); + } + + /** + * Install Agent Application (installAgentApp) + * Creates a new agent application and an INSTALL event in a single operation. Returns both the created application and the INSTALL event so the caller can open a progress view without a second round-trip. The request body must include the application object. Available for users with 'TENANT_ADMIN' authority. + * @param agentAppEventRequest A JSON value representing the install event request with the application. (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<AgentAppInstallResponse> + * @throws ApiException if fails to make API call + */ + public ApiResponse installAgentAppWithHttpInfo(@Nonnull AgentAppEventRequest agentAppEventRequest, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = installAgentAppRequestBuilder(agentAppEventRequest, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("installAgentApp", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + AgentAppInstallResponse responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder installAgentAppRequestBuilder(@Nonnull AgentAppEventRequest agentAppEventRequest, Map headers) throws ApiException { + // verify the required parameter 'agentAppEventRequest' is set + if (agentAppEventRequest == null) { + throw new ApiException(400, "Missing the required parameter 'agentAppEventRequest' when calling installAgentApp"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/app/event"; + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Content-Type", "application/json"); + localVarRequestBuilder.header("Accept", "application/json"); + try { + byte[] localVarPostBody = memberVarObjectMapper.writeValueAsBytes(agentAppEventRequest); + localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.ofByteArray(localVarPostBody)); + } catch (IOException e) { + throw new ApiException(e); + } + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + /** * installSolution * @@ -50458,6 +55319,83 @@ private HttpRequest.Builder installSolutionRequestBuilder(@Nonnull UUID solution return localVarRequestBuilder; } + /** + * Is agent upgrade available (isAgentUpgradeAvailable) + * Returns 'true' when the agent reports an image older than the newest published one, 'false' otherwise — including when the agent runs a floating tag such as 'latest', whose current content cannot be told from the tag. Available for users with 'TENANT_ADMIN' authority. + * @param agentId A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @return Boolean + * @throws ApiException if fails to make API call + */ + public Boolean isAgentUpgradeAvailable(@Nonnull String agentId) throws ApiException { + ApiResponse localVarResponse = isAgentUpgradeAvailableWithHttpInfo(agentId, null); + return localVarResponse.getData(); + } + + /** + * Is agent upgrade available (isAgentUpgradeAvailable) + * Returns 'true' when the agent reports an image older than the newest published one, 'false' otherwise — including when the agent runs a floating tag such as 'latest', whose current content cannot be told from the tag. Available for users with 'TENANT_ADMIN' authority. + * @param agentId A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<Boolean> + * @throws ApiException if fails to make API call + */ + public ApiResponse isAgentUpgradeAvailableWithHttpInfo(@Nonnull String agentId, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = isAgentUpgradeAvailableRequestBuilder(agentId, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("isAgentUpgradeAvailable", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + Boolean responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder isAgentUpgradeAvailableRequestBuilder(@Nonnull String agentId, Map headers) throws ApiException { + // verify the required parameter 'agentId' is set + if (agentId == null) { + throw new ApiException(400, "Missing the required parameter 'agentId' when calling isAgentUpgradeAvailable"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/{agentId}/upgrade/available" + .replace("{agentId}", ApiClient.urlEncode(agentId.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + /** * Check Customer White Labeling Allowed * Check if the White Labeling is enabled for the customers of the current tenant Security check is performed to verify that the user has 'WRITE' permission for the white labeling resource. Available for users with 'TENANT_ADMIN' authority. @@ -51035,25 +55973,23 @@ private HttpRequest.Builder listBranchesRequestBuilder(Map heade /** * listChats * - * @param chatType (required) * @return com.fasterxml.jackson.databind.JsonNode * @throws ApiException if fails to make API call */ - public com.fasterxml.jackson.databind.JsonNode listChats(@Nonnull ChatType chatType) throws ApiException { - ApiResponse localVarResponse = listChatsWithHttpInfo(chatType, null); + public com.fasterxml.jackson.databind.JsonNode listChats() throws ApiException { + ApiResponse localVarResponse = listChatsWithHttpInfo(null); return localVarResponse.getData(); } /** * listChats * - * @param chatType (required) * @param headers Optional headers to include in the request * @return ApiResponse<com.fasterxml.jackson.databind.JsonNode> * @throws ApiException if fails to make API call */ - public ApiResponse listChatsWithHttpInfo(@Nonnull ChatType chatType, Map headers) throws ApiException { - HttpRequest.Builder localVarRequestBuilder = listChatsRequestBuilder(chatType, headers); + public ApiResponse listChatsWithHttpInfo(Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = listChatsRequestBuilder(headers); try { HttpResponse localVarResponse = memberVarHttpClient.send( localVarRequestBuilder.build(), @@ -51087,14 +56023,9 @@ public ApiResponse listChatsWithHttpInf } } - private HttpRequest.Builder listChatsRequestBuilder(@Nonnull ChatType chatType, Map headers) throws ApiException { - // verify the required parameter 'chatType' is set - if (chatType == null) { - throw new ApiException(400, "Missing the required parameter 'chatType' when calling listChats"); - } + private HttpRequest.Builder listChatsRequestBuilder(Map headers) throws ApiException { HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); - String localVarPath = "/api/ai/chats/{chatType}" - .replace("{chatType}", ApiClient.urlEncode(chatType.toString())); + String localVarPath = "/api/ai/chats"; localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); localVarRequestBuilder.header("Accept", "application/json"); localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); @@ -52275,6 +57206,340 @@ private HttpRequest.Builder markNotificationAsReadRequestBuilder(@Nonnull UUID i return localVarRequestBuilder; } + /** + * Create Agent Application Profile from template (materializeAgentAppProfile) + * Creates an agent application profile from the default configuration of the template with the given app type and version. Used to materialize a predefined (virtual) profile shown in the UI into a real profile on first use. If a profile with the given app type and template version already exists, the existing profile is returned (the oldest one by created time) instead of creating a new one. Available for users with 'TENANT_ADMIN' authority. + * @param appType Application type, e.g. 'EDGE', 'GATEWAY', 'GENERIC' (required) + * @param templateVersion The template version to materialize (e.g. '4.3.1.2EDGEPE') (required) + * @param composeType The compose type to select from the template (e.g. 'in_memory', 'kafka'). Defaults to the template's first compose type. (optional) + * @return AgentAppProfile + * @throws ApiException if fails to make API call + */ + public AgentAppProfile materializeAgentAppProfile(@Nonnull AgentApplicationType appType, @Nonnull String templateVersion, @Nullable String composeType) throws ApiException { + ApiResponse localVarResponse = materializeAgentAppProfileWithHttpInfo(appType, templateVersion, composeType, null); + return localVarResponse.getData(); + } + + /** + * Create Agent Application Profile from template (materializeAgentAppProfile) + * Creates an agent application profile from the default configuration of the template with the given app type and version. Used to materialize a predefined (virtual) profile shown in the UI into a real profile on first use. If a profile with the given app type and template version already exists, the existing profile is returned (the oldest one by created time) instead of creating a new one. Available for users with 'TENANT_ADMIN' authority. + * @param appType Application type, e.g. 'EDGE', 'GATEWAY', 'GENERIC' (required) + * @param templateVersion The template version to materialize (e.g. '4.3.1.2EDGEPE') (required) + * @param composeType The compose type to select from the template (e.g. 'in_memory', 'kafka'). Defaults to the template's first compose type. (optional) + * @param headers Optional headers to include in the request + * @return ApiResponse<AgentAppProfile> + * @throws ApiException if fails to make API call + */ + public ApiResponse materializeAgentAppProfileWithHttpInfo(@Nonnull AgentApplicationType appType, @Nonnull String templateVersion, @Nullable String composeType, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = materializeAgentAppProfileRequestBuilder(appType, templateVersion, composeType, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("materializeAgentAppProfile", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + AgentAppProfile responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder materializeAgentAppProfileRequestBuilder(@Nonnull AgentApplicationType appType, @Nonnull String templateVersion, @Nullable String composeType, Map headers) throws ApiException { + // verify the required parameter 'appType' is set + if (appType == null) { + throw new ApiException(400, "Missing the required parameter 'appType' when calling materializeAgentAppProfile"); + } + // verify the required parameter 'templateVersion' is set + if (templateVersion == null) { + throw new ApiException(400, "Missing the required parameter 'templateVersion' when calling materializeAgentAppProfile"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/app/profile/materialize/{appType}/{templateVersion}" + .replace("{appType}", ApiClient.urlEncode(appType.toString())) + .replace("{templateVersion}", ApiClient.urlEncode(templateVersion.toString())); + List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "composeType"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("composeType", composeType)); + if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) { + StringJoiner queryJoiner = new StringJoiner("&"); + localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryStringJoiner.toString()); + } + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); + } else { + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + } + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Merge template into application profile for preview (mergeAgentAppProfileForPreview) + * Merges the specified template into an agent application profile for preview purposes. The compose type determines which compose configuration variant from the template is used. Available for users with 'TENANT_ADMIN' authority. + * @param templateVersion The template version to merge (e.g. '4.3.1.2EDGEPE') (required) + * @param agentAppProfile Agent application profile to merge template with (required) + * @param composeType The compose type to select from the template (e.g. 'monolith', 'microservices') (optional) + * @param actionType The event action this merge previews (e.g. UPGRADE). Drives action-specific merge rules. (optional) + * @param setHostValues Whether to auto-fill host values (e.g. CLOUD_RPC_HOST) from the platform base URL. Should be true only for the install preview; keep false when previewing the saved compose of an existing profile to preserve user-configured host values. (optional, default to false) + * @return AgentAppProfile + * @throws ApiException if fails to make API call + */ + public AgentAppProfile mergeAgentAppProfileForPreview(@Nonnull String templateVersion, @Nonnull AgentAppProfile agentAppProfile, @Nullable String composeType, @Nullable AgentAppEventActionType actionType, @Nullable Boolean setHostValues) throws ApiException { + ApiResponse localVarResponse = mergeAgentAppProfileForPreviewWithHttpInfo(templateVersion, agentAppProfile, composeType, actionType, setHostValues, null); + return localVarResponse.getData(); + } + + /** + * Merge template into application profile for preview (mergeAgentAppProfileForPreview) + * Merges the specified template into an agent application profile for preview purposes. The compose type determines which compose configuration variant from the template is used. Available for users with 'TENANT_ADMIN' authority. + * @param templateVersion The template version to merge (e.g. '4.3.1.2EDGEPE') (required) + * @param agentAppProfile Agent application profile to merge template with (required) + * @param composeType The compose type to select from the template (e.g. 'monolith', 'microservices') (optional) + * @param actionType The event action this merge previews (e.g. UPGRADE). Drives action-specific merge rules. (optional) + * @param setHostValues Whether to auto-fill host values (e.g. CLOUD_RPC_HOST) from the platform base URL. Should be true only for the install preview; keep false when previewing the saved compose of an existing profile to preserve user-configured host values. (optional, default to false) + * @param headers Optional headers to include in the request + * @return ApiResponse<AgentAppProfile> + * @throws ApiException if fails to make API call + */ + public ApiResponse mergeAgentAppProfileForPreviewWithHttpInfo(@Nonnull String templateVersion, @Nonnull AgentAppProfile agentAppProfile, @Nullable String composeType, @Nullable AgentAppEventActionType actionType, @Nullable Boolean setHostValues, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = mergeAgentAppProfileForPreviewRequestBuilder(templateVersion, agentAppProfile, composeType, actionType, setHostValues, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("mergeAgentAppProfileForPreview", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + AgentAppProfile responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder mergeAgentAppProfileForPreviewRequestBuilder(@Nonnull String templateVersion, @Nonnull AgentAppProfile agentAppProfile, @Nullable String composeType, @Nullable AgentAppEventActionType actionType, @Nullable Boolean setHostValues, Map headers) throws ApiException { + // verify the required parameter 'templateVersion' is set + if (templateVersion == null) { + throw new ApiException(400, "Missing the required parameter 'templateVersion' when calling mergeAgentAppProfileForPreview"); + } + // verify the required parameter 'agentAppProfile' is set + if (agentAppProfile == null) { + throw new ApiException(400, "Missing the required parameter 'agentAppProfile' when calling mergeAgentAppProfileForPreview"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/app/profiles/merge/{templateVersion}/preview" + .replace("{templateVersion}", ApiClient.urlEncode(templateVersion.toString())); + List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "composeType"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("composeType", composeType)); + localVarQueryParameterBaseName = "actionType"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("actionType", actionType)); + localVarQueryParameterBaseName = "setHostValues"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("setHostValues", setHostValues)); + if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) { + StringJoiner queryJoiner = new StringJoiner("&"); + localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryStringJoiner.toString()); + } + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); + } else { + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + } + localVarRequestBuilder.header("Content-Type", "application/json"); + localVarRequestBuilder.header("Accept", "application/json"); + try { + byte[] localVarPostBody = memberVarObjectMapper.writeValueAsBytes(agentAppProfile); + localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.ofByteArray(localVarPostBody)); + } catch (IOException e) { + throw new ApiException(e); + } + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Merge template into application for preview (mergeAgentApplicationForPreview) + * Merges the specified template into an agent application for preview purposes. If no application is provided in the body, a new one is created from the template. The compose type determines which compose configuration variant from the template is used. Optionally provide relatedEntityType and relatedEntityId to auto-fill entity credentials (Edge routing key/secret or Gateway access token) into the compose. Available for users with 'TENANT_ADMIN' authority. + * @param templateVersion The template version to merge (e.g. '4.3.1.2EDGEPE') (required) + * @param appType Application type (EDGE, GATEWAY, GENERIC). Required when no application body is supplied. (optional) + * @param composeType The compose type to select from the template (e.g. 'monolith', 'microservices') (optional) + * @param actionType The event action this merge previews (e.g. UPGRADE). Drives action-specific merge rules. (optional) + * @param setHostValues Whether to auto-fill host values (e.g. CLOUD_RPC_HOST) from the platform base URL. Should be true only for the install preview; keep false when previewing the saved compose of an existing application to preserve user-configured host values. (optional, default to false) + * @param relatedEntityType Related entity type (EDGE or DEVICE) (optional) + * @param relatedEntityId Related entity id (optional) + * @param agentApplication Optional agent application to merge with. If null, a new application is created from the template. (optional) + * @return AgentApplication + * @throws ApiException if fails to make API call + */ + public AgentApplication mergeAgentApplicationForPreview(@Nonnull String templateVersion, @Nullable AgentApplicationType appType, @Nullable String composeType, @Nullable AgentAppEventActionType actionType, @Nullable Boolean setHostValues, @Nullable String relatedEntityType, @Nullable String relatedEntityId, @Nullable AgentApplication agentApplication) throws ApiException { + ApiResponse localVarResponse = mergeAgentApplicationForPreviewWithHttpInfo(templateVersion, appType, composeType, actionType, setHostValues, relatedEntityType, relatedEntityId, agentApplication, null); + return localVarResponse.getData(); + } + + /** + * Merge template into application for preview (mergeAgentApplicationForPreview) + * Merges the specified template into an agent application for preview purposes. If no application is provided in the body, a new one is created from the template. The compose type determines which compose configuration variant from the template is used. Optionally provide relatedEntityType and relatedEntityId to auto-fill entity credentials (Edge routing key/secret or Gateway access token) into the compose. Available for users with 'TENANT_ADMIN' authority. + * @param templateVersion The template version to merge (e.g. '4.3.1.2EDGEPE') (required) + * @param appType Application type (EDGE, GATEWAY, GENERIC). Required when no application body is supplied. (optional) + * @param composeType The compose type to select from the template (e.g. 'monolith', 'microservices') (optional) + * @param actionType The event action this merge previews (e.g. UPGRADE). Drives action-specific merge rules. (optional) + * @param setHostValues Whether to auto-fill host values (e.g. CLOUD_RPC_HOST) from the platform base URL. Should be true only for the install preview; keep false when previewing the saved compose of an existing application to preserve user-configured host values. (optional, default to false) + * @param relatedEntityType Related entity type (EDGE or DEVICE) (optional) + * @param relatedEntityId Related entity id (optional) + * @param agentApplication Optional agent application to merge with. If null, a new application is created from the template. (optional) + * @param headers Optional headers to include in the request + * @return ApiResponse<AgentApplication> + * @throws ApiException if fails to make API call + */ + public ApiResponse mergeAgentApplicationForPreviewWithHttpInfo(@Nonnull String templateVersion, @Nullable AgentApplicationType appType, @Nullable String composeType, @Nullable AgentAppEventActionType actionType, @Nullable Boolean setHostValues, @Nullable String relatedEntityType, @Nullable String relatedEntityId, @Nullable AgentApplication agentApplication, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = mergeAgentApplicationForPreviewRequestBuilder(templateVersion, appType, composeType, actionType, setHostValues, relatedEntityType, relatedEntityId, agentApplication, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("mergeAgentApplicationForPreview", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + AgentApplication responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder mergeAgentApplicationForPreviewRequestBuilder(@Nonnull String templateVersion, @Nullable AgentApplicationType appType, @Nullable String composeType, @Nullable AgentAppEventActionType actionType, @Nullable Boolean setHostValues, @Nullable String relatedEntityType, @Nullable String relatedEntityId, @Nullable AgentApplication agentApplication, Map headers) throws ApiException { + // verify the required parameter 'templateVersion' is set + if (templateVersion == null) { + throw new ApiException(400, "Missing the required parameter 'templateVersion' when calling mergeAgentApplicationForPreview"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/app/merge/{templateVersion}/preview" + .replace("{templateVersion}", ApiClient.urlEncode(templateVersion.toString())); + List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "appType"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("appType", appType)); + localVarQueryParameterBaseName = "composeType"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("composeType", composeType)); + localVarQueryParameterBaseName = "actionType"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("actionType", actionType)); + localVarQueryParameterBaseName = "setHostValues"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("setHostValues", setHostValues)); + localVarQueryParameterBaseName = "relatedEntityType"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("relatedEntityType", relatedEntityType)); + localVarQueryParameterBaseName = "relatedEntityId"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("relatedEntityId", relatedEntityId)); + if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) { + StringJoiner queryJoiner = new StringJoiner("&"); + localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryStringJoiner.toString()); + } + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); + } else { + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + } + localVarRequestBuilder.header("Content-Type", "application/json"); + localVarRequestBuilder.header("Accept", "application/json"); + try { + byte[] localVarPostBody = memberVarObjectMapper.writeValueAsBytes(agentApplication); + localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.ofByteArray(localVarPostBody)); + } catch (IOException e) { + throw new ApiException(e); + } + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + /** * Mobile Login redirect (mobileLogin) * This method generates redirect to the special link that is handled by mobile application. Useful for email verification flow on mobile app. @@ -52528,6 +57793,102 @@ private HttpRequest.Builder performTrendzHealthcheckRequestBuilder(Map localVarResponse = previewBulkOperationWithHttpInfo(agentProfileId, applicationProfileId, bulkOperationRequest, null); + return localVarResponse.getData(); + } + + /** + * Preview Bulk Operation (previewBulkOperation) + * Previews the effect of a bulk operation over the applications of the given agent profile and application profile without enqueuing it, returning the set of affected applications and the resulting actions. Available for users with 'TENANT_ADMIN' authority. + * @param agentProfileId Agent Profile Id (required) + * @param applicationProfileId Agent Application Profile Id (required) + * @param bulkOperationRequest (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<BulkOperationPreview> + * @throws ApiException if fails to make API call + */ + public ApiResponse previewBulkOperationWithHttpInfo(@Nonnull String agentProfileId, @Nonnull String applicationProfileId, @Nonnull BulkOperationRequest bulkOperationRequest, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = previewBulkOperationRequestBuilder(agentProfileId, applicationProfileId, bulkOperationRequest, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("previewBulkOperation", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + BulkOperationPreview responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder previewBulkOperationRequestBuilder(@Nonnull String agentProfileId, @Nonnull String applicationProfileId, @Nonnull BulkOperationRequest bulkOperationRequest, Map headers) throws ApiException { + // verify the required parameter 'agentProfileId' is set + if (agentProfileId == null) { + throw new ApiException(400, "Missing the required parameter 'agentProfileId' when calling previewBulkOperation"); + } + // verify the required parameter 'applicationProfileId' is set + if (applicationProfileId == null) { + throw new ApiException(400, "Missing the required parameter 'applicationProfileId' when calling previewBulkOperation"); + } + // verify the required parameter 'bulkOperationRequest' is set + if (bulkOperationRequest == null) { + throw new ApiException(400, "Missing the required parameter 'bulkOperationRequest' when calling previewBulkOperation"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/profile/{agentProfileId}/appProfile/{applicationProfileId}/bulk/preview" + .replace("{agentProfileId}", ApiClient.urlEncode(agentProfileId.toString())) + .replace("{applicationProfileId}", ApiClient.urlEncode(applicationProfileId.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Content-Type", "application/json"); + localVarRequestBuilder.header("Accept", "application/json"); + try { + byte[] localVarPostBody = memberVarObjectMapper.writeValueAsBytes(bulkOperationRequest); + localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.ofByteArray(localVarPostBody)); + } catch (IOException e) { + throw new ApiException(e); + } + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + /** * Preview Login White Labeling configuration (saveWhiteLabelParams) * Merge the White Labeling configuration with the parent configuration and return the result. Security check is performed to verify that the user has 'WRITE' permission for the white labeling resource. @@ -52846,7 +58207,7 @@ private HttpRequest.Builder processDevicesBulkImportRequestBuilder(@Nonnull Bulk /** * Import the bulk of edges (processEdgesBulkImport) - * There's an ability to import the bulk of edges using the only .csv file. Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. + * There's an ability to import the bulk of edges using the only .csv file. Available for users with 'TENANT_ADMIN' authority. * @param bulkImportRequest (required) * @return BulkImportResultEdge * @throws ApiException if fails to make API call @@ -52858,7 +58219,7 @@ public BulkImportResultEdge processEdgesBulkImport(@Nonnull BulkImportRequest bu /** * Import the bulk of edges (processEdgesBulkImport) - * There's an ability to import the bulk of edges using the only .csv file. Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. + * There's an ability to import the bulk of edges using the only .csv file. Available for users with 'TENANT_ADMIN' authority. * @param bulkImportRequest (required) * @param headers Optional headers to include in the request * @return ApiResponse<BulkImportResultEdge> @@ -54563,6 +59924,288 @@ private HttpRequest.Builder saveAdminSettingsRequestBuilder(@Nonnull AdminSettin return localVarRequestBuilder; } + /** + * Create Or Update Agent (saveAgent) + * Creates or Updates the Agent. When creating agent, platform generates Agent Id as [time-based UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_1_(date-time_and_MAC_address)). The newly created Agent id will be present in the response. Specify existing Agent id to update the agent. Referencing non-existing Agent Id will cause 'Not Found' error. Remove 'id', 'tenantId' and optionally 'customerId' from the request body example (below) to create new Agent entity. Available for users with 'TENANT_ADMIN' authority. + * @param agent A JSON value representing the agent. (required) + * @param entityGroupId (optional) + * @param entityGroupIds A list of entity group ids, separated by comma ',' (optional) + * @return Agent + * @throws ApiException if fails to make API call + */ + public Agent saveAgent(@Nonnull Agent agent, @Nullable String entityGroupId, @Nullable List entityGroupIds) throws ApiException { + ApiResponse localVarResponse = saveAgentWithHttpInfo(agent, entityGroupId, entityGroupIds, null); + return localVarResponse.getData(); + } + + /** + * Create Or Update Agent (saveAgent) + * Creates or Updates the Agent. When creating agent, platform generates Agent Id as [time-based UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_1_(date-time_and_MAC_address)). The newly created Agent id will be present in the response. Specify existing Agent id to update the agent. Referencing non-existing Agent Id will cause 'Not Found' error. Remove 'id', 'tenantId' and optionally 'customerId' from the request body example (below) to create new Agent entity. Available for users with 'TENANT_ADMIN' authority. + * @param agent A JSON value representing the agent. (required) + * @param entityGroupId (optional) + * @param entityGroupIds A list of entity group ids, separated by comma ',' (optional) + * @param headers Optional headers to include in the request + * @return ApiResponse<Agent> + * @throws ApiException if fails to make API call + */ + public ApiResponse saveAgentWithHttpInfo(@Nonnull Agent agent, @Nullable String entityGroupId, @Nullable List entityGroupIds, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = saveAgentRequestBuilder(agent, entityGroupId, entityGroupIds, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("saveAgent", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + Agent responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder saveAgentRequestBuilder(@Nonnull Agent agent, @Nullable String entityGroupId, @Nullable List entityGroupIds, Map headers) throws ApiException { + // verify the required parameter 'agent' is set + if (agent == null) { + throw new ApiException(400, "Missing the required parameter 'agent' when calling saveAgent"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent"; + List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "entityGroupId"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("entityGroupId", entityGroupId)); + localVarQueryParameterBaseName = "entityGroupIds"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("multi", "entityGroupIds", entityGroupIds)); + if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) { + StringJoiner queryJoiner = new StringJoiner("&"); + localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryStringJoiner.toString()); + } + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); + } else { + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + } + localVarRequestBuilder.header("Content-Type", "application/json"); + localVarRequestBuilder.header("Accept", "application/json"); + try { + byte[] localVarPostBody = memberVarObjectMapper.writeValueAsBytes(agent); + localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.ofByteArray(localVarPostBody)); + } catch (IOException e) { + throw new ApiException(e); + } + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Create or Update Agent Application Profile (saveAgentAppProfile) + * Creates or updates an agent application profile. Available for users with 'TENANT_ADMIN' authority. + * @param agentAppProfile (required) + * @return AgentAppProfile + * @throws ApiException if fails to make API call + */ + public AgentAppProfile saveAgentAppProfile(@Nonnull AgentAppProfile agentAppProfile) throws ApiException { + ApiResponse localVarResponse = saveAgentAppProfileWithHttpInfo(agentAppProfile, null); + return localVarResponse.getData(); + } + + /** + * Create or Update Agent Application Profile (saveAgentAppProfile) + * Creates or updates an agent application profile. Available for users with 'TENANT_ADMIN' authority. + * @param agentAppProfile (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<AgentAppProfile> + * @throws ApiException if fails to make API call + */ + public ApiResponse saveAgentAppProfileWithHttpInfo(@Nonnull AgentAppProfile agentAppProfile, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = saveAgentAppProfileRequestBuilder(agentAppProfile, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("saveAgentAppProfile", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + AgentAppProfile responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder saveAgentAppProfileRequestBuilder(@Nonnull AgentAppProfile agentAppProfile, Map headers) throws ApiException { + // verify the required parameter 'agentAppProfile' is set + if (agentAppProfile == null) { + throw new ApiException(400, "Missing the required parameter 'agentAppProfile' when calling saveAgentAppProfile"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/app/profile"; + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Content-Type", "application/json"); + localVarRequestBuilder.header("Accept", "application/json"); + try { + byte[] localVarPostBody = memberVarObjectMapper.writeValueAsBytes(agentAppProfile); + localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.ofByteArray(localVarPostBody)); + } catch (IOException e) { + throw new ApiException(e); + } + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Create or Update Agent Profile (saveAgentProfile) + * Creates or updates the Agent Profile. When an id is not present in the request, a new Agent Profile is created, otherwise the existing one is updated. Optionally synchronizes the agent application profile assignments in the same request: when the 'appProfileIds' parameter is absent, existing assignments are left untouched; when it is present, the assignment set is replaced with the given ids — including an explicitly empty value (e.g. 'appProfileIds='), which removes all assignments. Available for users with 'TENANT_ADMIN' authority. + * @param agentProfile (required) + * @param appProfileIds Agent application profile ids to assign to this agent profile. Absent: assignments are not modified. Present: assignments are replaced with the given ids; an explicitly empty value removes all assignments. (optional) + * @return AgentProfile + * @throws ApiException if fails to make API call + */ + public AgentProfile saveAgentProfile(@Nonnull AgentProfile agentProfile, @Nullable List appProfileIds) throws ApiException { + ApiResponse localVarResponse = saveAgentProfileWithHttpInfo(agentProfile, appProfileIds, null); + return localVarResponse.getData(); + } + + /** + * Create or Update Agent Profile (saveAgentProfile) + * Creates or updates the Agent Profile. When an id is not present in the request, a new Agent Profile is created, otherwise the existing one is updated. Optionally synchronizes the agent application profile assignments in the same request: when the 'appProfileIds' parameter is absent, existing assignments are left untouched; when it is present, the assignment set is replaced with the given ids — including an explicitly empty value (e.g. 'appProfileIds='), which removes all assignments. Available for users with 'TENANT_ADMIN' authority. + * @param agentProfile (required) + * @param appProfileIds Agent application profile ids to assign to this agent profile. Absent: assignments are not modified. Present: assignments are replaced with the given ids; an explicitly empty value removes all assignments. (optional) + * @param headers Optional headers to include in the request + * @return ApiResponse<AgentProfile> + * @throws ApiException if fails to make API call + */ + public ApiResponse saveAgentProfileWithHttpInfo(@Nonnull AgentProfile agentProfile, @Nullable List appProfileIds, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = saveAgentProfileRequestBuilder(agentProfile, appProfileIds, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("saveAgentProfile", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + AgentProfile responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder saveAgentProfileRequestBuilder(@Nonnull AgentProfile agentProfile, @Nullable List appProfileIds, Map headers) throws ApiException { + // verify the required parameter 'agentProfile' is set + if (agentProfile == null) { + throw new ApiException(400, "Missing the required parameter 'agentProfile' when calling saveAgentProfile"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/profile"; + List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "appProfileIds"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("multi", "appProfileIds", appProfileIds)); + if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) { + StringJoiner queryJoiner = new StringJoiner("&"); + localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryStringJoiner.toString()); + } + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); + } else { + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + } + localVarRequestBuilder.header("Content-Type", "application/json"); + localVarRequestBuilder.header("Accept", "application/json"); + try { + byte[] localVarPostBody = memberVarObjectMapper.writeValueAsBytes(agentProfile); + localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.ofByteArray(localVarPostBody)); + } catch (IOException e) { + throw new ApiException(e); + } + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + /** * Create or update AI model (saveAiModel) * Creates or updates an AI model record. • **Create:** Omit the `id` to create a new record. The platform assigns a UUID to the new record and returns it in the `id` field of the response. • **Update:** Include an existing `id` to modify that record. If no matching record exists, the API responds with **404 Not Found**. Tenant ID for the AI model will be taken from the authenticated user making the request, regardless of any value provided in the request body. Available for users with 'TENANT_ADMIN' authority. @@ -61153,6 +66796,106 @@ private HttpRequest.Builder sendTestSmsRequestBuilder(@Nonnull TestSmsRequest te return localVarRequestBuilder; } + /** + * Set App Profile Relates On Auto-Discovery (setAppProfileRelatesOnAutoDiscovery) + * Enables or disables automatic assignment of the app profile to new auto-discovered applications with a matching template. Only one app profile per agent profile and template pair may relate on auto-discovery. Available for users with 'TENANT_ADMIN' authority. + * @param agentProfileId Agent Profile Id (required) + * @param applicationProfileId Agent Application Profile Id (required) + * @param relate Whether the app profile should be auto-assigned to new auto-discovered applications with a matching template (required) + * @throws ApiException if fails to make API call + */ + public void setAppProfileRelatesOnAutoDiscovery(@Nonnull String agentProfileId, @Nonnull String applicationProfileId, @Nonnull Boolean relate) throws ApiException { + setAppProfileRelatesOnAutoDiscoveryWithHttpInfo(agentProfileId, applicationProfileId, relate, null); + } + + /** + * Set App Profile Relates On Auto-Discovery (setAppProfileRelatesOnAutoDiscovery) + * Enables or disables automatic assignment of the app profile to new auto-discovered applications with a matching template. Only one app profile per agent profile and template pair may relate on auto-discovery. Available for users with 'TENANT_ADMIN' authority. + * @param agentProfileId Agent Profile Id (required) + * @param applicationProfileId Agent Application Profile Id (required) + * @param relate Whether the app profile should be auto-assigned to new auto-discovered applications with a matching template (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<Void> + * @throws ApiException if fails to make API call + */ + public ApiResponse setAppProfileRelatesOnAutoDiscoveryWithHttpInfo(@Nonnull String agentProfileId, @Nonnull String applicationProfileId, @Nonnull Boolean relate, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = setAppProfileRelatesOnAutoDiscoveryRequestBuilder(agentProfileId, applicationProfileId, relate, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("setAppProfileRelatesOnAutoDiscovery", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody != null) { + localVarResponseBody.readAllBytes(); + } + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder setAppProfileRelatesOnAutoDiscoveryRequestBuilder(@Nonnull String agentProfileId, @Nonnull String applicationProfileId, @Nonnull Boolean relate, Map headers) throws ApiException { + // verify the required parameter 'agentProfileId' is set + if (agentProfileId == null) { + throw new ApiException(400, "Missing the required parameter 'agentProfileId' when calling setAppProfileRelatesOnAutoDiscovery"); + } + // verify the required parameter 'applicationProfileId' is set + if (applicationProfileId == null) { + throw new ApiException(400, "Missing the required parameter 'applicationProfileId' when calling setAppProfileRelatesOnAutoDiscovery"); + } + // verify the required parameter 'relate' is set + if (relate == null) { + throw new ApiException(400, "Missing the required parameter 'relate' when calling setAppProfileRelatesOnAutoDiscovery"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/profile/{agentProfileId}/appProfile/{applicationProfileId}/autoDiscovery" + .replace("{agentProfileId}", ApiClient.urlEncode(agentProfileId.toString())) + .replace("{applicationProfileId}", ApiClient.urlEncode(applicationProfileId.toString())); + List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "relate"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("relate", relate)); + if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) { + StringJoiner queryJoiner = new StringJoiner("&"); + localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryStringJoiner.toString()); + } + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); + } else { + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + } + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + /** * Set Auto Assign To Edge Rule Chain (setAutoAssignToEdgeRuleChain) * Makes the rule chain to be automatically assigned for any new edge that will be created. Does not assign this rule chain for already created edges. Available for users with 'TENANT_ADMIN' authority. @@ -61308,6 +67051,83 @@ private HttpRequest.Builder setCustomerHomeDashboardInfoRequestBuilder(@Nonnull return localVarRequestBuilder; } + /** + * Make Agent Profile Default (setDefaultAgentProfile) + * Marks agent profile as default within a tenant scope. Available for users with 'TENANT_ADMIN' authority. + * @param agentProfileId Agent Profile Id (required) + * @return AgentProfile + * @throws ApiException if fails to make API call + */ + public AgentProfile setDefaultAgentProfile(@Nonnull String agentProfileId) throws ApiException { + ApiResponse localVarResponse = setDefaultAgentProfileWithHttpInfo(agentProfileId, null); + return localVarResponse.getData(); + } + + /** + * Make Agent Profile Default (setDefaultAgentProfile) + * Marks agent profile as default within a tenant scope. Available for users with 'TENANT_ADMIN' authority. + * @param agentProfileId Agent Profile Id (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<AgentProfile> + * @throws ApiException if fails to make API call + */ + public ApiResponse setDefaultAgentProfileWithHttpInfo(@Nonnull String agentProfileId, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = setDefaultAgentProfileRequestBuilder(agentProfileId, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("setDefaultAgentProfile", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + AgentProfile responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder setDefaultAgentProfileRequestBuilder(@Nonnull String agentProfileId, Map headers) throws ApiException { + // verify the required parameter 'agentProfileId' is set + if (agentProfileId == null) { + throw new ApiException(400, "Missing the required parameter 'agentProfileId' when calling setDefaultAgentProfile"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/profile/{agentProfileId}/default" + .replace("{agentProfileId}", ApiClient.urlEncode(agentProfileId.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + /** * Make Asset Profile Default (setDefaultAssetProfile) * Marks asset profile as default within a tenant scope. Available for users with 'TENANT_ADMIN' authority. @@ -63102,29 +68922,125 @@ private HttpRequest.Builder testRuleChainScriptRequestBuilder(@Nullable Object b } /** - * Test converter function (testUpLinkConverter) - * Returns a JSON object representing the result of the processed incoming message. ## Request Body Example ```json { \"metadata\":{ }, \"payload\":\"ewogICAgImRhdGEiOiAiZGF0YSIKfQ==\", \"decoder\":\"// Decode an uplink message from a buffer\\n// payload - array of bytes\\n// metadata - key/value object\\n\\n/_** Decoder **_/\\n\\n// decode payload to string\\nvar payloadStr = decodeToString(payload);\\n\\n// decode payload to JSON\\n// var data = decodeToJson(payload);\\n\\nvar deviceName = 'Device A';\\nvar deviceType = 'thermostat';\\nvar customerName = 'customer';\\nvar groupName = 'thermostat devices';\\nvar manufacturer = 'Example corporation';\\n// use assetName and assetType instead of deviceName and deviceType\\n// to automatically create assets instead of devices.\\n// var assetName = 'Asset A';\\n// var assetType = 'building';\\n\\n// Result object with device/asset attributes/telemetry data\\nvar result = {\\n// Use deviceName and deviceType or assetName and assetType, but not both.\\n deviceName: deviceName,\\n deviceType: deviceType,\\n// assetName: assetName,\\n// assetType: assetType,\\n customerName: customerName,\\n groupName: groupName,\\n attributes: {\\n model: 'Model A',\\n serialNumber: 'SN111',\\n integrationName: metadata['integrationName']\\n manufacturer: manufacturer\\n },\\n telemetry: {\\n temperature: 42,\\n humidity: 80,\\n rawData: payloadStr\\n }\\n};\\n\\n/_** Helper functions **_/\\n\\nfunction decodeToString(payload) {\\n return String.fromCharCode.apply(String, payload);\\n}\\n\\nfunction decodeToJson(payload) {\\n // covert payload to string.\\n var str = decodeToString(payload);\\n\\n // parse string to JSON\\n var data = JSON.parse(str);\\n return data;\\n}\\n\\nreturn result;\" } ``` * 'metadata' - integration metadata; * 'payload' - base64 string representation of the data; * 'decoder' - string representation of the decoder configuration; * 'converter' - JSON object representing converter. ## Response Body Example ```json { \"output\":\"{\\\"deviceName\\\":\\\"Device A\\\",\\\"deviceType\\\":\\\"thermostat\\\",\\\"customerName\\\":\\\"customer\\\",\\\"groupName\\\":\\\"thermostat devices\\\",\\\"attributes\\\":{\\\"model\\\":\\\"Model A\\\",\\\"serialNumber\\\":\\\"SN111\\\"},\\\"telemetry\\\":{\\\"temperature\\\":42,\\\"humidity\\\":80,\\\"rawData\\\":\\\"{\\\\n \\\\\\\"data\\\\\\\": \\\\\\\"data\\\\\\\"\\\\n}\\\"}}\", \"error\":\"\" } ``` * 'output' - string representation of the output message; * 'error' - string representation of the error message. - * @param body A JSON value representing the input to the converter function. (required) - * @param scriptLang Script language: JS or TBEL (optional) - * @return com.fasterxml.jackson.databind.JsonNode + * Test converter function (testUpLinkConverter) + * Returns a JSON object representing the result of the processed incoming message. ## Request Body Example ```json { \"metadata\":{ }, \"payload\":\"ewogICAgImRhdGEiOiAiZGF0YSIKfQ==\", \"decoder\":\"// Decode an uplink message from a buffer\\n// payload - array of bytes\\n// metadata - key/value object\\n\\n/_** Decoder **_/\\n\\n// decode payload to string\\nvar payloadStr = decodeToString(payload);\\n\\n// decode payload to JSON\\n// var data = decodeToJson(payload);\\n\\nvar deviceName = 'Device A';\\nvar deviceType = 'thermostat';\\nvar customerName = 'customer';\\nvar groupName = 'thermostat devices';\\nvar manufacturer = 'Example corporation';\\n// use assetName and assetType instead of deviceName and deviceType\\n// to automatically create assets instead of devices.\\n// var assetName = 'Asset A';\\n// var assetType = 'building';\\n\\n// Result object with device/asset attributes/telemetry data\\nvar result = {\\n// Use deviceName and deviceType or assetName and assetType, but not both.\\n deviceName: deviceName,\\n deviceType: deviceType,\\n// assetName: assetName,\\n// assetType: assetType,\\n customerName: customerName,\\n groupName: groupName,\\n attributes: {\\n model: 'Model A',\\n serialNumber: 'SN111',\\n integrationName: metadata['integrationName']\\n manufacturer: manufacturer\\n },\\n telemetry: {\\n temperature: 42,\\n humidity: 80,\\n rawData: payloadStr\\n }\\n};\\n\\n/_** Helper functions **_/\\n\\nfunction decodeToString(payload) {\\n return String.fromCharCode.apply(String, payload);\\n}\\n\\nfunction decodeToJson(payload) {\\n // covert payload to string.\\n var str = decodeToString(payload);\\n\\n // parse string to JSON\\n var data = JSON.parse(str);\\n return data;\\n}\\n\\nreturn result;\" } ``` * 'metadata' - integration metadata; * 'payload' - base64 string representation of the data; * 'decoder' - string representation of the decoder configuration; * 'converter' - JSON object representing converter. ## Response Body Example ```json { \"output\":\"{\\\"deviceName\\\":\\\"Device A\\\",\\\"deviceType\\\":\\\"thermostat\\\",\\\"customerName\\\":\\\"customer\\\",\\\"groupName\\\":\\\"thermostat devices\\\",\\\"attributes\\\":{\\\"model\\\":\\\"Model A\\\",\\\"serialNumber\\\":\\\"SN111\\\"},\\\"telemetry\\\":{\\\"temperature\\\":42,\\\"humidity\\\":80,\\\"rawData\\\":\\\"{\\\\n \\\\\\\"data\\\\\\\": \\\\\\\"data\\\\\\\"\\\\n}\\\"}}\", \"error\":\"\" } ``` * 'output' - string representation of the output message; * 'error' - string representation of the error message. + * @param body A JSON value representing the input to the converter function. (required) + * @param scriptLang Script language: JS or TBEL (optional) + * @return com.fasterxml.jackson.databind.JsonNode + * @throws ApiException if fails to make API call + */ + public com.fasterxml.jackson.databind.JsonNode testUpLinkConverter(@Nullable Object body, @Nullable ScriptLanguage scriptLang) throws ApiException { + ApiResponse localVarResponse = testUpLinkConverterWithHttpInfo(body, scriptLang, null); + return localVarResponse.getData(); + } + + /** + * Test converter function (testUpLinkConverter) + * Returns a JSON object representing the result of the processed incoming message. ## Request Body Example ```json { \"metadata\":{ }, \"payload\":\"ewogICAgImRhdGEiOiAiZGF0YSIKfQ==\", \"decoder\":\"// Decode an uplink message from a buffer\\n// payload - array of bytes\\n// metadata - key/value object\\n\\n/_** Decoder **_/\\n\\n// decode payload to string\\nvar payloadStr = decodeToString(payload);\\n\\n// decode payload to JSON\\n// var data = decodeToJson(payload);\\n\\nvar deviceName = 'Device A';\\nvar deviceType = 'thermostat';\\nvar customerName = 'customer';\\nvar groupName = 'thermostat devices';\\nvar manufacturer = 'Example corporation';\\n// use assetName and assetType instead of deviceName and deviceType\\n// to automatically create assets instead of devices.\\n// var assetName = 'Asset A';\\n// var assetType = 'building';\\n\\n// Result object with device/asset attributes/telemetry data\\nvar result = {\\n// Use deviceName and deviceType or assetName and assetType, but not both.\\n deviceName: deviceName,\\n deviceType: deviceType,\\n// assetName: assetName,\\n// assetType: assetType,\\n customerName: customerName,\\n groupName: groupName,\\n attributes: {\\n model: 'Model A',\\n serialNumber: 'SN111',\\n integrationName: metadata['integrationName']\\n manufacturer: manufacturer\\n },\\n telemetry: {\\n temperature: 42,\\n humidity: 80,\\n rawData: payloadStr\\n }\\n};\\n\\n/_** Helper functions **_/\\n\\nfunction decodeToString(payload) {\\n return String.fromCharCode.apply(String, payload);\\n}\\n\\nfunction decodeToJson(payload) {\\n // covert payload to string.\\n var str = decodeToString(payload);\\n\\n // parse string to JSON\\n var data = JSON.parse(str);\\n return data;\\n}\\n\\nreturn result;\" } ``` * 'metadata' - integration metadata; * 'payload' - base64 string representation of the data; * 'decoder' - string representation of the decoder configuration; * 'converter' - JSON object representing converter. ## Response Body Example ```json { \"output\":\"{\\\"deviceName\\\":\\\"Device A\\\",\\\"deviceType\\\":\\\"thermostat\\\",\\\"customerName\\\":\\\"customer\\\",\\\"groupName\\\":\\\"thermostat devices\\\",\\\"attributes\\\":{\\\"model\\\":\\\"Model A\\\",\\\"serialNumber\\\":\\\"SN111\\\"},\\\"telemetry\\\":{\\\"temperature\\\":42,\\\"humidity\\\":80,\\\"rawData\\\":\\\"{\\\\n \\\\\\\"data\\\\\\\": \\\\\\\"data\\\\\\\"\\\\n}\\\"}}\", \"error\":\"\" } ``` * 'output' - string representation of the output message; * 'error' - string representation of the error message. + * @param body A JSON value representing the input to the converter function. (required) + * @param scriptLang Script language: JS or TBEL (optional) + * @param headers Optional headers to include in the request + * @return ApiResponse<com.fasterxml.jackson.databind.JsonNode> + * @throws ApiException if fails to make API call + */ + public ApiResponse testUpLinkConverterWithHttpInfo(@Nullable Object body, @Nullable ScriptLanguage scriptLang, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = testUpLinkConverterRequestBuilder(body, scriptLang, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("testUpLinkConverter", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + com.fasterxml.jackson.databind.JsonNode responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder testUpLinkConverterRequestBuilder(@Nullable Object body, @Nullable ScriptLanguage scriptLang, Map headers) throws ApiException { + // verify the required parameter 'body' is set + if (body == null) { + throw new ApiException(400, "Missing the required parameter 'body' when calling testUpLinkConverter"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/converter/testUpLink"; + List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "scriptLang"; + localVarQueryParams.addAll(ApiClient.parameterToPairs("scriptLang", scriptLang)); + if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) { + StringJoiner queryJoiner = new StringJoiner("&"); + localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryStringJoiner.toString()); + } + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); + } else { + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + } + localVarRequestBuilder.header("Content-Type", "application/json"); + localVarRequestBuilder.header("Accept", "application/json"); + try { + byte[] localVarPostBody = memberVarObjectMapper.writeValueAsBytes(body); + localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.ofByteArray(localVarPostBody)); + } catch (IOException e) { + throw new ApiException(e); + } + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + + /** + * Unassign Alarm (unassignAlarm) + * Unassign the Alarm. Once unassigned, the 'assign_ts' field will be set to current timestamp and special rule chain event 'ALARM_UNASSIGNED' will be generated. Referencing non-existing Alarm Id will cause an error. Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. + * @param alarmId A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @return Alarm * @throws ApiException if fails to make API call */ - public com.fasterxml.jackson.databind.JsonNode testUpLinkConverter(@Nullable Object body, @Nullable ScriptLanguage scriptLang) throws ApiException { - ApiResponse localVarResponse = testUpLinkConverterWithHttpInfo(body, scriptLang, null); + public Alarm unassignAlarm(@Nonnull String alarmId) throws ApiException { + ApiResponse localVarResponse = unassignAlarmWithHttpInfo(alarmId, null); return localVarResponse.getData(); } /** - * Test converter function (testUpLinkConverter) - * Returns a JSON object representing the result of the processed incoming message. ## Request Body Example ```json { \"metadata\":{ }, \"payload\":\"ewogICAgImRhdGEiOiAiZGF0YSIKfQ==\", \"decoder\":\"// Decode an uplink message from a buffer\\n// payload - array of bytes\\n// metadata - key/value object\\n\\n/_** Decoder **_/\\n\\n// decode payload to string\\nvar payloadStr = decodeToString(payload);\\n\\n// decode payload to JSON\\n// var data = decodeToJson(payload);\\n\\nvar deviceName = 'Device A';\\nvar deviceType = 'thermostat';\\nvar customerName = 'customer';\\nvar groupName = 'thermostat devices';\\nvar manufacturer = 'Example corporation';\\n// use assetName and assetType instead of deviceName and deviceType\\n// to automatically create assets instead of devices.\\n// var assetName = 'Asset A';\\n// var assetType = 'building';\\n\\n// Result object with device/asset attributes/telemetry data\\nvar result = {\\n// Use deviceName and deviceType or assetName and assetType, but not both.\\n deviceName: deviceName,\\n deviceType: deviceType,\\n// assetName: assetName,\\n// assetType: assetType,\\n customerName: customerName,\\n groupName: groupName,\\n attributes: {\\n model: 'Model A',\\n serialNumber: 'SN111',\\n integrationName: metadata['integrationName']\\n manufacturer: manufacturer\\n },\\n telemetry: {\\n temperature: 42,\\n humidity: 80,\\n rawData: payloadStr\\n }\\n};\\n\\n/_** Helper functions **_/\\n\\nfunction decodeToString(payload) {\\n return String.fromCharCode.apply(String, payload);\\n}\\n\\nfunction decodeToJson(payload) {\\n // covert payload to string.\\n var str = decodeToString(payload);\\n\\n // parse string to JSON\\n var data = JSON.parse(str);\\n return data;\\n}\\n\\nreturn result;\" } ``` * 'metadata' - integration metadata; * 'payload' - base64 string representation of the data; * 'decoder' - string representation of the decoder configuration; * 'converter' - JSON object representing converter. ## Response Body Example ```json { \"output\":\"{\\\"deviceName\\\":\\\"Device A\\\",\\\"deviceType\\\":\\\"thermostat\\\",\\\"customerName\\\":\\\"customer\\\",\\\"groupName\\\":\\\"thermostat devices\\\",\\\"attributes\\\":{\\\"model\\\":\\\"Model A\\\",\\\"serialNumber\\\":\\\"SN111\\\"},\\\"telemetry\\\":{\\\"temperature\\\":42,\\\"humidity\\\":80,\\\"rawData\\\":\\\"{\\\\n \\\\\\\"data\\\\\\\": \\\\\\\"data\\\\\\\"\\\\n}\\\"}}\", \"error\":\"\" } ``` * 'output' - string representation of the output message; * 'error' - string representation of the error message. - * @param body A JSON value representing the input to the converter function. (required) - * @param scriptLang Script language: JS or TBEL (optional) + * Unassign Alarm (unassignAlarm) + * Unassign the Alarm. Once unassigned, the 'assign_ts' field will be set to current timestamp and special rule chain event 'ALARM_UNASSIGNED' will be generated. Referencing non-existing Alarm Id will cause an error. Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. + * @param alarmId A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) * @param headers Optional headers to include in the request - * @return ApiResponse<com.fasterxml.jackson.databind.JsonNode> + * @return ApiResponse<Alarm> * @throws ApiException if fails to make API call */ - public ApiResponse testUpLinkConverterWithHttpInfo(@Nullable Object body, @Nullable ScriptLanguage scriptLang, Map headers) throws ApiException { - HttpRequest.Builder localVarRequestBuilder = testUpLinkConverterRequestBuilder(body, scriptLang, headers); + public ApiResponse unassignAlarmWithHttpInfo(@Nonnull String alarmId, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = unassignAlarmRequestBuilder(alarmId, headers); try { HttpResponse localVarResponse = memberVarHttpClient.send( localVarRequestBuilder.build(), @@ -63135,15 +69051,15 @@ public ApiResponse testUpLinkConverterW InputStream localVarResponseBody = null; try { if (localVarResponse.statusCode()/ 100 != 2) { - throw getApiException("testUpLinkConverter", localVarResponse); + throw getApiException("unassignAlarm", localVarResponse); } localVarResponseBody = ApiClient.getResponseBody(localVarResponse); if (localVarResponseBody == null) { - return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); } String responseBody = new String(localVarResponseBody.readAllBytes()); - com.fasterxml.jackson.databind.JsonNode responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); - return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + Alarm responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); } finally { if (localVarResponseBody != null) { localVarResponseBody.close(); @@ -63158,36 +69074,17 @@ public ApiResponse testUpLinkConverterW } } - private HttpRequest.Builder testUpLinkConverterRequestBuilder(@Nullable Object body, @Nullable ScriptLanguage scriptLang, Map headers) throws ApiException { - // verify the required parameter 'body' is set - if (body == null) { - throw new ApiException(400, "Missing the required parameter 'body' when calling testUpLinkConverter"); + private HttpRequest.Builder unassignAlarmRequestBuilder(@Nonnull String alarmId, Map headers) throws ApiException { + // verify the required parameter 'alarmId' is set + if (alarmId == null) { + throw new ApiException(400, "Missing the required parameter 'alarmId' when calling unassignAlarm"); } HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); - String localVarPath = "/api/converter/testUpLink"; - List localVarQueryParams = new ArrayList<>(); - StringJoiner localVarQueryStringJoiner = new StringJoiner("&"); - String localVarQueryParameterBaseName; - localVarQueryParameterBaseName = "scriptLang"; - localVarQueryParams.addAll(ApiClient.parameterToPairs("scriptLang", scriptLang)); - if (!localVarQueryParams.isEmpty() || localVarQueryStringJoiner.length() != 0) { - StringJoiner queryJoiner = new StringJoiner("&"); - localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); - if (localVarQueryStringJoiner.length() != 0) { - queryJoiner.add(localVarQueryStringJoiner.toString()); - } - localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); - } else { - localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); - } - localVarRequestBuilder.header("Content-Type", "application/json"); + String localVarPath = "/api/alarm/{alarmId}/assign" + .replace("{alarmId}", ApiClient.urlEncode(alarmId.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); localVarRequestBuilder.header("Accept", "application/json"); - try { - byte[] localVarPostBody = memberVarObjectMapper.writeValueAsBytes(body); - localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.ofByteArray(localVarPostBody)); - } catch (IOException e) { - throw new ApiException(e); - } + localVarRequestBuilder.method("DELETE", HttpRequest.BodyPublishers.noBody()); if (memberVarReadTimeout != null) { localVarRequestBuilder.timeout(memberVarReadTimeout); } @@ -63200,27 +69097,27 @@ private HttpRequest.Builder testUpLinkConverterRequestBuilder(@Nullable Object b } /** - * Unassign Alarm (unassignAlarm) - * Unassign the Alarm. Once unassigned, the 'assign_ts' field will be set to current timestamp and special rule chain event 'ALARM_UNASSIGNED' will be generated. Referencing non-existing Alarm Id will cause an error. Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. - * @param alarmId A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) - * @return Alarm + * Unassign App Profile from Agent Profile (unassignAppProfileFromAgentProfile) + * Removes the assignment of the given agent application profile from the agent profile. Available for users with 'TENANT_ADMIN' authority. + * @param agentProfileId Agent Profile Id (required) + * @param applicationProfileId Agent Application Profile Id (required) * @throws ApiException if fails to make API call */ - public Alarm unassignAlarm(@Nonnull String alarmId) throws ApiException { - ApiResponse localVarResponse = unassignAlarmWithHttpInfo(alarmId, null); - return localVarResponse.getData(); + public void unassignAppProfileFromAgentProfile(@Nonnull String agentProfileId, @Nonnull String applicationProfileId) throws ApiException { + unassignAppProfileFromAgentProfileWithHttpInfo(agentProfileId, applicationProfileId, null); } /** - * Unassign Alarm (unassignAlarm) - * Unassign the Alarm. Once unassigned, the 'assign_ts' field will be set to current timestamp and special rule chain event 'ALARM_UNASSIGNED' will be generated. Referencing non-existing Alarm Id will cause an error. Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. - * @param alarmId A string value representing the alarm id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * Unassign App Profile from Agent Profile (unassignAppProfileFromAgentProfile) + * Removes the assignment of the given agent application profile from the agent profile. Available for users with 'TENANT_ADMIN' authority. + * @param agentProfileId Agent Profile Id (required) + * @param applicationProfileId Agent Application Profile Id (required) * @param headers Optional headers to include in the request - * @return ApiResponse<Alarm> + * @return ApiResponse<Void> * @throws ApiException if fails to make API call */ - public ApiResponse unassignAlarmWithHttpInfo(@Nonnull String alarmId, Map headers) throws ApiException { - HttpRequest.Builder localVarRequestBuilder = unassignAlarmRequestBuilder(alarmId, headers); + public ApiResponse unassignAppProfileFromAgentProfileWithHttpInfo(@Nonnull String agentProfileId, @Nonnull String applicationProfileId, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = unassignAppProfileFromAgentProfileRequestBuilder(agentProfileId, applicationProfileId, headers); try { HttpResponse localVarResponse = memberVarHttpClient.send( localVarRequestBuilder.build(), @@ -63231,15 +69128,13 @@ public ApiResponse unassignAlarmWithHttpInfo(@Nonnull String alarmId, Map InputStream localVarResponseBody = null; try { if (localVarResponse.statusCode()/ 100 != 2) { - throw getApiException("unassignAlarm", localVarResponse); + throw getApiException("unassignAppProfileFromAgentProfile", localVarResponse); } localVarResponseBody = ApiClient.getResponseBody(localVarResponse); - if (localVarResponseBody == null) { - return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + if (localVarResponseBody != null) { + localVarResponseBody.readAllBytes(); } - String responseBody = new String(localVarResponseBody.readAllBytes()); - Alarm responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); - return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); } finally { if (localVarResponseBody != null) { localVarResponseBody.close(); @@ -63254,14 +69149,19 @@ public ApiResponse unassignAlarmWithHttpInfo(@Nonnull String alarmId, Map } } - private HttpRequest.Builder unassignAlarmRequestBuilder(@Nonnull String alarmId, Map headers) throws ApiException { - // verify the required parameter 'alarmId' is set - if (alarmId == null) { - throw new ApiException(400, "Missing the required parameter 'alarmId' when calling unassignAlarm"); + private HttpRequest.Builder unassignAppProfileFromAgentProfileRequestBuilder(@Nonnull String agentProfileId, @Nonnull String applicationProfileId, Map headers) throws ApiException { + // verify the required parameter 'agentProfileId' is set + if (agentProfileId == null) { + throw new ApiException(400, "Missing the required parameter 'agentProfileId' when calling unassignAppProfileFromAgentProfile"); + } + // verify the required parameter 'applicationProfileId' is set + if (applicationProfileId == null) { + throw new ApiException(400, "Missing the required parameter 'applicationProfileId' when calling unassignAppProfileFromAgentProfile"); } HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); - String localVarPath = "/api/alarm/{alarmId}/assign" - .replace("{alarmId}", ApiClient.urlEncode(alarmId.toString())); + String localVarPath = "/api/agent/profile/{agentProfileId}/appProfile/{applicationProfileId}" + .replace("{agentProfileId}", ApiClient.urlEncode(agentProfileId.toString())) + .replace("{applicationProfileId}", ApiClient.urlEncode(applicationProfileId.toString())); localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); localVarRequestBuilder.header("Accept", "application/json"); localVarRequestBuilder.method("DELETE", HttpRequest.BodyPublishers.noBody()); @@ -63451,6 +69351,83 @@ private HttpRequest.Builder unassignIntegrationFromEdgeRequestBuilder(@Nonnull S return localVarRequestBuilder; } + /** + * Unassign Related Entity from Agent Application (unassignRelatedEntityFromAgentApp) + * Removes the link between an agent application and its related Edge or Gateway Device. Available for users with 'TENANT_ADMIN' authority. + * @param agentApplicationId A string value representing the agent application id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @return AgentApplication + * @throws ApiException if fails to make API call + */ + public AgentApplication unassignRelatedEntityFromAgentApp(@Nonnull String agentApplicationId) throws ApiException { + ApiResponse localVarResponse = unassignRelatedEntityFromAgentAppWithHttpInfo(agentApplicationId, null); + return localVarResponse.getData(); + } + + /** + * Unassign Related Entity from Agent Application (unassignRelatedEntityFromAgentApp) + * Removes the link between an agent application and its related Edge or Gateway Device. Available for users with 'TENANT_ADMIN' authority. + * @param agentApplicationId A string value representing the agent application id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<AgentApplication> + * @throws ApiException if fails to make API call + */ + public ApiResponse unassignRelatedEntityFromAgentAppWithHttpInfo(@Nonnull String agentApplicationId, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = unassignRelatedEntityFromAgentAppRequestBuilder(agentApplicationId, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("unassignRelatedEntityFromAgentApp", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + AgentApplication responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder unassignRelatedEntityFromAgentAppRequestBuilder(@Nonnull String agentApplicationId, Map headers) throws ApiException { + // verify the required parameter 'agentApplicationId' is set + if (agentApplicationId == null) { + throw new ApiException(400, "Missing the required parameter 'agentApplicationId' when calling unassignRelatedEntityFromAgentApp"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/app/{agentApplicationId}/relatedEntity" + .replace("{agentApplicationId}", ApiClient.urlEncode(agentApplicationId.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Accept", "application/json"); + localVarRequestBuilder.method("DELETE", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + /** * Unassign rule chain from edge (unassignRuleChainFromEdge) * Clears assignment of the rule chain to the edge. Unassignment works in async way - first, 'unassign' notification event pushed to edge queue on platform. Second, remote edge service will receive an 'unassign' command to remove rule chain (Edge will receive this instantly, if it's currently connected, or once it's going to be connected to platform). Third, once 'unassign' command will be delivered to edge service, it's going to remove rule chain locally. Available for users with 'TENANT_ADMIN' authority. @@ -63871,6 +69848,88 @@ private HttpRequest.Builder unwrapRawPayloadRequestBuilder(@Nonnull IntegrationT return localVarRequestBuilder; } + /** + * Update Agent Application (saveAgentApplication) + * Updates the Agent Application. Available for users with 'TENANT_ADMIN' authority. + * @param agentApplication A JSON value representing the agent application. (required) + * @return AgentApplication + * @throws ApiException if fails to make API call + */ + public AgentApplication updateAgentApplication(@Nonnull AgentApplication agentApplication) throws ApiException { + ApiResponse localVarResponse = updateAgentApplicationWithHttpInfo(agentApplication, null); + return localVarResponse.getData(); + } + + /** + * Update Agent Application (saveAgentApplication) + * Updates the Agent Application. Available for users with 'TENANT_ADMIN' authority. + * @param agentApplication A JSON value representing the agent application. (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<AgentApplication> + * @throws ApiException if fails to make API call + */ + public ApiResponse updateAgentApplicationWithHttpInfo(@Nonnull AgentApplication agentApplication, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = updateAgentApplicationRequestBuilder(agentApplication, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("updateAgentApplication", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + AgentApplication responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder updateAgentApplicationRequestBuilder(@Nonnull AgentApplication agentApplication, Map headers) throws ApiException { + // verify the required parameter 'agentApplication' is set + if (agentApplication == null) { + throw new ApiException(400, "Missing the required parameter 'agentApplication' when calling updateAgentApplication"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/app"; + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Content-Type", "application/json"); + localVarRequestBuilder.header("Accept", "application/json"); + try { + byte[] localVarPostBody = memberVarObjectMapper.writeValueAsBytes(agentApplication); + localVarRequestBuilder.method("PUT", HttpRequest.BodyPublishers.ofByteArray(localVarPostBody)); + } catch (IOException e) { + throw new ApiException(e); + } + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + /** * Update API key Description * Updates the description of the existing API key by apiKeyId. Only the description can be updated. Referencing a non-existing ApiKey Id will cause a 'Not Found' error. Available for any authorized user. @@ -65694,6 +71753,95 @@ private HttpRequest.Builder updateWidgetsBundleWidgetTypesRequestBuilder(@Nonnul return localVarRequestBuilder; } + /** + * Upgrade Agent (upgradeAgent) + * Creates an agent-scoped upgrade event that makes the agent replace its own container with the given image. At most one agent upgrade can be active per agent, and it blocks all application events for that agent until it completes. Available for users with 'TENANT_ADMIN' authority. + * @param agentId A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param agentUpgradeRequest (required) + * @return AgentAppEvent + * @throws ApiException if fails to make API call + */ + public AgentAppEvent upgradeAgent(@Nonnull String agentId, @Nonnull AgentUpgradeRequest agentUpgradeRequest) throws ApiException { + ApiResponse localVarResponse = upgradeAgentWithHttpInfo(agentId, agentUpgradeRequest, null); + return localVarResponse.getData(); + } + + /** + * Upgrade Agent (upgradeAgent) + * Creates an agent-scoped upgrade event that makes the agent replace its own container with the given image. At most one agent upgrade can be active per agent, and it blocks all application events for that agent until it completes. Available for users with 'TENANT_ADMIN' authority. + * @param agentId A string value representing the agent id. For example, '784f394c-42b6-435a-983c-b7beff2784f9' (required) + * @param agentUpgradeRequest (required) + * @param headers Optional headers to include in the request + * @return ApiResponse<AgentAppEvent> + * @throws ApiException if fails to make API call + */ + public ApiResponse upgradeAgentWithHttpInfo(@Nonnull String agentId, @Nonnull AgentUpgradeRequest agentUpgradeRequest, Map headers) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = upgradeAgentRequestBuilder(agentId, agentUpgradeRequest, headers); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + InputStream localVarResponseBody = null; + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("upgradeAgent", localVarResponse); + } + localVarResponseBody = ApiClient.getResponseBody(localVarResponse); + if (localVarResponseBody == null) { + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), null); + } + String responseBody = new String(localVarResponseBody.readAllBytes()); + AgentAppEvent responseValue = responseBody.isBlank()? null: memberVarObjectMapper.readValue(responseBody, new TypeReference() {}); + return new ApiResponse(localVarResponse.statusCode(), localVarResponse.headers().map(), responseValue); + } finally { + if (localVarResponseBody != null) { + localVarResponseBody.close(); + } + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder upgradeAgentRequestBuilder(@Nonnull String agentId, @Nonnull AgentUpgradeRequest agentUpgradeRequest, Map headers) throws ApiException { + // verify the required parameter 'agentId' is set + if (agentId == null) { + throw new ApiException(400, "Missing the required parameter 'agentId' when calling upgradeAgent"); + } + // verify the required parameter 'agentUpgradeRequest' is set + if (agentUpgradeRequest == null) { + throw new ApiException(400, "Missing the required parameter 'agentUpgradeRequest' when calling upgradeAgent"); + } + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + String localVarPath = "/api/agent/{agentId}/upgrade" + .replace("{agentId}", ApiClient.urlEncode(agentId.toString())); + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + localVarRequestBuilder.header("Content-Type", "application/json"); + localVarRequestBuilder.header("Accept", "application/json"); + try { + byte[] localVarPostBody = memberVarObjectMapper.writeValueAsBytes(agentUpgradeRequest); + localVarRequestBuilder.method("POST", HttpRequest.BodyPublishers.ofByteArray(localVarPostBody)); + } catch (IOException e) { + throw new ApiException(e); + } + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + // Add custom headers if provided + localVarRequestBuilder = HttpRequestBuilderExtensions.withAdditionalHeaders(localVarRequestBuilder, headers); + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + /** * Upload Custom Translation (uploadCustomTranslation) * Upload the Custom Translation for specified locale. Request example: ```json {\"home\":\"MyHome\"} ``` Security check is performed to verify that the user has 'WRITE' permission for the white labeling resource. diff --git a/pe/src/main/java/org/thingsboard/client/model/Agent.java b/pe/src/main/java/org/thingsboard/client/model/Agent.java new file mode 100644 index 00000000..84e04c78 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/Agent.java @@ -0,0 +1,531 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import org.thingsboard.client.model.AgentId; +import org.thingsboard.client.model.AgentProfileId; +import org.thingsboard.client.model.CustomerId; +import org.thingsboard.client.model.EntityId; +import org.thingsboard.client.model.TenantId; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * Agent + */ +@JsonPropertyOrder({ + Agent.JSON_PROPERTY_ID, + Agent.JSON_PROPERTY_CREATED_TIME, + Agent.JSON_PROPERTY_ADDITIONAL_INFO, + Agent.JSON_PROPERTY_TENANT_ID, + Agent.JSON_PROPERTY_CUSTOMER_ID, + Agent.JSON_PROPERTY_NAME, + Agent.JSON_PROPERTY_DESCRIPTION, + Agent.JSON_PROPERTY_ROUTING_KEY, + Agent.JSON_PROPERTY_SECRET, + Agent.JSON_PROPERTY_AGENT_PROFILE_ID, + Agent.JSON_PROPERTY_VERSION, + Agent.JSON_PROPERTY_OWNER_ID +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class Agent { + public static final String JSON_PROPERTY_ID = "id"; + @Nullable + private AgentId id; + + public static final String JSON_PROPERTY_CREATED_TIME = "createdTime"; + @Nullable + private Long createdTime; + + public static final String JSON_PROPERTY_ADDITIONAL_INFO = "additionalInfo"; + @Nullable + private com.fasterxml.jackson.databind.JsonNode additionalInfo = null; + + public static final String JSON_PROPERTY_TENANT_ID = "tenantId"; + @Nullable + private TenantId tenantId; + + public static final String JSON_PROPERTY_CUSTOMER_ID = "customerId"; + @Nullable + private CustomerId customerId; + + public static final String JSON_PROPERTY_NAME = "name"; + @Nonnull + private String name; + + public static final String JSON_PROPERTY_DESCRIPTION = "description"; + @Nullable + private String description; + + public static final String JSON_PROPERTY_ROUTING_KEY = "routingKey"; + @Nonnull + private String routingKey; + + public static final String JSON_PROPERTY_SECRET = "secret"; + @Nonnull + private String secret; + + public static final String JSON_PROPERTY_AGENT_PROFILE_ID = "agentProfileId"; + @Nullable + private AgentProfileId agentProfileId; + + public static final String JSON_PROPERTY_VERSION = "version"; + @Nullable + private Long version; + + public static final String JSON_PROPERTY_OWNER_ID = "ownerId"; + @Nullable + private EntityId ownerId; + + public Agent() { + } + + @JsonCreator + public Agent( + @JsonProperty(JSON_PROPERTY_CREATED_TIME) Long createdTime, + @JsonProperty(JSON_PROPERTY_TENANT_ID) TenantId tenantId, + @JsonProperty(JSON_PROPERTY_CUSTOMER_ID) CustomerId customerId, + @JsonProperty(JSON_PROPERTY_OWNER_ID) EntityId ownerId + ) { + this(); + this.createdTime = createdTime; + this.tenantId = tenantId; + this.customerId = customerId; + this.ownerId = ownerId; + } + + public Agent id(@Nullable AgentId id) { + this.id = id; + return this; + } + + /** + * JSON object with the Agent Id. Specify this field to update the Agent. Referencing non-existing Agent Id will cause error. Omit this field to create new Agent. + * @return id + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentId getId() { + return id; + } + + + @JsonProperty(value = JSON_PROPERTY_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setId(@Nullable AgentId id) { + this.id = id; + } + + + /** + * Timestamp of the agent creation, in milliseconds + * @return createdTime + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_CREATED_TIME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getCreatedTime() { + return createdTime; + } + + + + + public Agent additionalInfo(@Nullable com.fasterxml.jackson.databind.JsonNode additionalInfo) { + this.additionalInfo = additionalInfo; + return this; + } + + /** + * Get additionalInfo + * @return additionalInfo + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_ADDITIONAL_INFO, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public com.fasterxml.jackson.databind.JsonNode getAdditionalInfo() { + return additionalInfo; + } + + + @JsonProperty(value = JSON_PROPERTY_ADDITIONAL_INFO, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setAdditionalInfo(@Nullable com.fasterxml.jackson.databind.JsonNode additionalInfo) { + this.additionalInfo = additionalInfo; + } + + + /** + * JSON object with Tenant Id. Use 'assignAgentToTenant' to change the Tenant Id. + * @return tenantId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TENANT_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public TenantId getTenantId() { + return tenantId; + } + + + + + /** + * JSON object with Customer Id. + * @return customerId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_CUSTOMER_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public CustomerId getCustomerId() { + return customerId; + } + + + + + public Agent name(@Nonnull String name) { + this.name = name; + return this; + } + + /** + * Unique Agent Name in scope of Tenant + * @return name + */ + @Nonnull + @JsonProperty(value = JSON_PROPERTY_NAME, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getName() { + return name; + } + + + @JsonProperty(value = JSON_PROPERTY_NAME, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setName(@Nonnull String name) { + this.name = name; + } + + + public Agent description(@Nullable String description) { + this.description = description; + return this; + } + + /** + * Agent description + * @return description + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_DESCRIPTION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getDescription() { + return description; + } + + + @JsonProperty(value = JSON_PROPERTY_DESCRIPTION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setDescription(@Nullable String description) { + this.description = description; + } + + + public Agent routingKey(@Nonnull String routingKey) { + this.routingKey = routingKey; + return this; + } + + /** + * Agent routing key used for authentication + * @return routingKey + */ + @Nonnull + @JsonProperty(value = JSON_PROPERTY_ROUTING_KEY, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getRoutingKey() { + return routingKey; + } + + + @JsonProperty(value = JSON_PROPERTY_ROUTING_KEY, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setRoutingKey(@Nonnull String routingKey) { + this.routingKey = routingKey; + } + + + public Agent secret(@Nonnull String secret) { + this.secret = secret; + return this; + } + + /** + * Agent secret used for authentication + * @return secret + */ + @Nonnull + @JsonProperty(value = JSON_PROPERTY_SECRET, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getSecret() { + return secret; + } + + + @JsonProperty(value = JSON_PROPERTY_SECRET, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setSecret(@Nonnull String secret) { + this.secret = secret; + } + + + public Agent agentProfileId(@Nullable AgentProfileId agentProfileId) { + this.agentProfileId = agentProfileId; + return this; + } + + /** + * JSON object with Agent Profile Id. Nullable. + * @return agentProfileId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_AGENT_PROFILE_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentProfileId getAgentProfileId() { + return agentProfileId; + } + + + @JsonProperty(value = JSON_PROPERTY_AGENT_PROFILE_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setAgentProfileId(@Nullable AgentProfileId agentProfileId) { + this.agentProfileId = agentProfileId; + } + + + public Agent version(@Nullable Long version) { + this.version = version; + return this; + } + + /** + * Get version + * @return version + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_VERSION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getVersion() { + return version; + } + + + @JsonProperty(value = JSON_PROPERTY_VERSION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setVersion(@Nullable Long version) { + this.version = version; + } + + + /** + * JSON object with Customer or Tenant Id + * @return ownerId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_OWNER_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public EntityId getOwnerId() { + return ownerId; + } + + + + + /** + * Return true if this Agent object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Agent agent = (Agent) o; + return Objects.equals(this.id, agent.id) && + Objects.equals(this.createdTime, agent.createdTime) && + Objects.equals(this.additionalInfo, agent.additionalInfo) && + Objects.equals(this.tenantId, agent.tenantId) && + Objects.equals(this.customerId, agent.customerId) && + Objects.equals(this.name, agent.name) && + Objects.equals(this.description, agent.description) && + Objects.equals(this.routingKey, agent.routingKey) && + Objects.equals(this.secret, agent.secret) && + Objects.equals(this.agentProfileId, agent.agentProfileId) && + Objects.equals(this.version, agent.version) && + Objects.equals(this.ownerId, agent.ownerId); + } + + @Override + public int hashCode() { + return Objects.hash(id, createdTime, additionalInfo, tenantId, customerId, name, description, routingKey, secret, agentProfileId, version, ownerId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Agent {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" createdTime: ").append(toIndentedString(createdTime)).append("\n"); + sb.append(" additionalInfo: ").append(toIndentedString(additionalInfo)).append("\n"); + sb.append(" tenantId: ").append(toIndentedString(tenantId)).append("\n"); + sb.append(" customerId: ").append(toIndentedString(customerId)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" routingKey: ").append(toIndentedString(routingKey)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" agentProfileId: ").append(toIndentedString(agentProfileId)).append("\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append(" ownerId: ").append(toIndentedString(ownerId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(getId().toUrlQueryString(prefix + "id" + suffix)); + } + + // add `createdTime` to the URL query string + if (getCreatedTime() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%screatedTime%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getCreatedTime())))); + } + + // add `additionalInfo` to the URL query string + if (getAdditionalInfo() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sadditionalInfo%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getAdditionalInfo())))); + } + + // add `tenantId` to the URL query string + if (getTenantId() != null) { + joiner.add(getTenantId().toUrlQueryString(prefix + "tenantId" + suffix)); + } + + // add `customerId` to the URL query string + if (getCustomerId() != null) { + joiner.add(getCustomerId().toUrlQueryString(prefix + "customerId" + suffix)); + } + + // add `name` to the URL query string + if (getName() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sname%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getName())))); + } + + // add `description` to the URL query string + if (getDescription() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sdescription%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getDescription())))); + } + + // add `routingKey` to the URL query string + if (getRoutingKey() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sroutingKey%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getRoutingKey())))); + } + + // add `secret` to the URL query string + if (getSecret() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%ssecret%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getSecret())))); + } + + // add `agentProfileId` to the URL query string + if (getAgentProfileId() != null) { + joiner.add(getAgentProfileId().toUrlQueryString(prefix + "agentProfileId" + suffix)); + } + + // add `version` to the URL query string + if (getVersion() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sversion%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getVersion())))); + } + + // add `ownerId` to the URL query string + if (getOwnerId() != null) { + joiner.add(getOwnerId().toUrlQueryString(prefix + "ownerId" + suffix)); + } + + return joiner.toString(); + } +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentAppArgument.java b/pe/src/main/java/org/thingsboard/client/model/AgentAppArgument.java new file mode 100644 index 00000000..f97bd893 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentAppArgument.java @@ -0,0 +1,412 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import org.thingsboard.client.model.AgentAppArgumentFormat; +import org.thingsboard.client.model.AgentAppArgumentSource; +import org.thingsboard.client.model.AgentAppArgumentValueType; +import org.thingsboard.client.model.AttributeScope; +import org.thingsboard.client.model.EntityId; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * AgentAppArgument + */ +@JsonPropertyOrder({ + AgentAppArgument.JSON_PROPERTY_NAME, + AgentAppArgument.JSON_PROPERTY_SOURCE_TYPE, + AgentAppArgument.JSON_PROPERTY_SOURCE_ENTITY_ID, + AgentAppArgument.JSON_PROPERTY_VALUE_TYPE, + AgentAppArgument.JSON_PROPERTY_SCOPE, + AgentAppArgument.JSON_PROPERTY_KEY, + AgentAppArgument.JSON_PROPERTY_DEFAULT_VALUE, + AgentAppArgument.JSON_PROPERTY_FORMAT +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class AgentAppArgument { + public static final String JSON_PROPERTY_NAME = "name"; + @Nullable + private String name; + + public static final String JSON_PROPERTY_SOURCE_TYPE = "sourceType"; + @Nullable + private AgentAppArgumentSource sourceType; + + public static final String JSON_PROPERTY_SOURCE_ENTITY_ID = "sourceEntityId"; + @Nullable + private EntityId sourceEntityId; + + public static final String JSON_PROPERTY_VALUE_TYPE = "valueType"; + @Nullable + private AgentAppArgumentValueType valueType; + + public static final String JSON_PROPERTY_SCOPE = "scope"; + @Nullable + private AttributeScope scope; + + public static final String JSON_PROPERTY_KEY = "key"; + @Nullable + private String key; + + public static final String JSON_PROPERTY_DEFAULT_VALUE = "defaultValue"; + @Nullable + private String defaultValue; + + public static final String JSON_PROPERTY_FORMAT = "format"; + @Nullable + private AgentAppArgumentFormat format; + + public AgentAppArgument() { + } + + public AgentAppArgument name(@Nullable String name) { + this.name = name; + return this; + } + + /** + * Argument name, referenced in the compose as ${tb.<name>}. + * @return name + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_NAME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getName() { + return name; + } + + + @JsonProperty(value = JSON_PROPERTY_NAME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setName(@Nullable String name) { + this.name = name; + } + + + public AgentAppArgument sourceType(@Nullable AgentAppArgumentSource sourceType) { + this.sourceType = sourceType; + return this; + } + + /** + * Source entity the value is resolved from. + * @return sourceType + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_SOURCE_TYPE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentAppArgumentSource getSourceType() { + return sourceType; + } + + + @JsonProperty(value = JSON_PROPERTY_SOURCE_TYPE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setSourceType(@Nullable AgentAppArgumentSource sourceType) { + this.sourceType = sourceType; + } + + + public AgentAppArgument sourceEntityId(@Nullable EntityId sourceEntityId) { + this.sourceEntityId = sourceEntityId; + return this; + } + + /** + * Concrete source entity id. Required when sourceType references a specific entity (DEVICE, ASSET, CUSTOMER, EDGE); ignored for the context-derived sources. + * @return sourceEntityId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_SOURCE_ENTITY_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public EntityId getSourceEntityId() { + return sourceEntityId; + } + + + @JsonProperty(value = JSON_PROPERTY_SOURCE_ENTITY_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setSourceEntityId(@Nullable EntityId sourceEntityId) { + this.sourceEntityId = sourceEntityId; + } + + + public AgentAppArgument valueType(@Nullable AgentAppArgumentValueType valueType) { + this.valueType = valueType; + return this; + } + + /** + * Whether the value is read from an attribute or the latest telemetry. + * @return valueType + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_VALUE_TYPE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentAppArgumentValueType getValueType() { + return valueType; + } + + + @JsonProperty(value = JSON_PROPERTY_VALUE_TYPE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setValueType(@Nullable AgentAppArgumentValueType valueType) { + this.valueType = valueType; + } + + + public AgentAppArgument scope(@Nullable AttributeScope scope) { + this.scope = scope; + return this; + } + + /** + * Attribute scope. Applicable only when valueType is ATTRIBUTE. Defaults to SERVER_SCOPE. + * @return scope + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_SCOPE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AttributeScope getScope() { + return scope; + } + + + @JsonProperty(value = JSON_PROPERTY_SCOPE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setScope(@Nullable AttributeScope scope) { + this.scope = scope; + } + + + public AgentAppArgument key(@Nullable String key) { + this.key = key; + return this; + } + + /** + * Attribute or latest telemetry key to read. + * @return key + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_KEY, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getKey() { + return key; + } + + + @JsonProperty(value = JSON_PROPERTY_KEY, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setKey(@Nullable String key) { + this.key = key; + } + + + public AgentAppArgument defaultValue(@Nullable String defaultValue) { + this.defaultValue = defaultValue; + return this; + } + + /** + * Optional fallback value used when the source has no value for the key. + * @return defaultValue + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_DEFAULT_VALUE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getDefaultValue() { + return defaultValue; + } + + + @JsonProperty(value = JSON_PROPERTY_DEFAULT_VALUE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setDefaultValue(@Nullable String defaultValue) { + this.defaultValue = defaultValue; + } + + + public AgentAppArgument format(@Nullable AgentAppArgumentFormat format) { + this.format = format; + return this; + } + + /** + * How the resolved value is injected into the compose: STRING (quoted) or JSON (raw, for arrays/objects/numbers when the placeholder is the whole value). Defaults to STRING. + * @return format + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_FORMAT, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentAppArgumentFormat getFormat() { + return format; + } + + + @JsonProperty(value = JSON_PROPERTY_FORMAT, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setFormat(@Nullable AgentAppArgumentFormat format) { + this.format = format; + } + + + /** + * Return true if this AgentAppArgument object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AgentAppArgument agentAppArgument = (AgentAppArgument) o; + return Objects.equals(this.name, agentAppArgument.name) && + Objects.equals(this.sourceType, agentAppArgument.sourceType) && + Objects.equals(this.sourceEntityId, agentAppArgument.sourceEntityId) && + Objects.equals(this.valueType, agentAppArgument.valueType) && + Objects.equals(this.scope, agentAppArgument.scope) && + Objects.equals(this.key, agentAppArgument.key) && + Objects.equals(this.defaultValue, agentAppArgument.defaultValue) && + Objects.equals(this.format, agentAppArgument.format); + } + + @Override + public int hashCode() { + return Objects.hash(name, sourceType, sourceEntityId, valueType, scope, key, defaultValue, format); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AgentAppArgument {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" sourceType: ").append(toIndentedString(sourceType)).append("\n"); + sb.append(" sourceEntityId: ").append(toIndentedString(sourceEntityId)).append("\n"); + sb.append(" valueType: ").append(toIndentedString(valueType)).append("\n"); + sb.append(" scope: ").append(toIndentedString(scope)).append("\n"); + sb.append(" key: ").append(toIndentedString(key)).append("\n"); + sb.append(" defaultValue: ").append(toIndentedString(defaultValue)).append("\n"); + sb.append(" format: ").append(toIndentedString(format)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `name` to the URL query string + if (getName() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sname%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getName())))); + } + + // add `sourceType` to the URL query string + if (getSourceType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%ssourceType%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getSourceType())))); + } + + // add `sourceEntityId` to the URL query string + if (getSourceEntityId() != null) { + joiner.add(getSourceEntityId().toUrlQueryString(prefix + "sourceEntityId" + suffix)); + } + + // add `valueType` to the URL query string + if (getValueType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%svalueType%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getValueType())))); + } + + // add `scope` to the URL query string + if (getScope() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sscope%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getScope())))); + } + + // add `key` to the URL query string + if (getKey() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%skey%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getKey())))); + } + + // add `defaultValue` to the URL query string + if (getDefaultValue() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sdefaultValue%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getDefaultValue())))); + } + + // add `format` to the URL query string + if (getFormat() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sformat%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getFormat())))); + } + + return joiner.toString(); + } +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentAppArgumentFormat.java b/pe/src/main/java/org/thingsboard/client/model/AgentAppArgumentFormat.java new file mode 100644 index 00000000..a527f3c3 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentAppArgumentFormat.java @@ -0,0 +1,80 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +/** + * Gets or Sets AgentAppArgumentFormat + */ +public enum AgentAppArgumentFormat { + + STRING("STRING"), + + JSON("JSON"); + + private String value; + + AgentAppArgumentFormat(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static AgentAppArgumentFormat fromValue(String value) { + for (AgentAppArgumentFormat b : AgentAppArgumentFormat.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + return String.format(java.util.Locale.ROOT, "%s=%s", prefix, this.toString()); + } + +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentAppArgumentSource.java b/pe/src/main/java/org/thingsboard/client/model/AgentAppArgumentSource.java new file mode 100644 index 00000000..1fc95c4e --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentAppArgumentSource.java @@ -0,0 +1,92 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +/** + * Gets or Sets AgentAppArgumentSource + */ +public enum AgentAppArgumentSource { + + AGENT("AGENT"), + + OWNER("OWNER"), + + RELATED_ENTITY("RELATED_ENTITY"), + + TENANT("TENANT"), + + DEVICE("DEVICE"), + + ASSET("ASSET"), + + CUSTOMER("CUSTOMER"), + + EDGE("EDGE"); + + private String value; + + AgentAppArgumentSource(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static AgentAppArgumentSource fromValue(String value) { + for (AgentAppArgumentSource b : AgentAppArgumentSource.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + return String.format(java.util.Locale.ROOT, "%s=%s", prefix, this.toString()); + } + +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentAppArgumentValueType.java b/pe/src/main/java/org/thingsboard/client/model/AgentAppArgumentValueType.java new file mode 100644 index 00000000..ccb876f6 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentAppArgumentValueType.java @@ -0,0 +1,80 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +/** + * Gets or Sets AgentAppArgumentValueType + */ +public enum AgentAppArgumentValueType { + + ATTRIBUTE("ATTRIBUTE"), + + LATEST_TELEMETRY("LATEST_TELEMETRY"); + + private String value; + + AgentAppArgumentValueType(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static AgentAppArgumentValueType fromValue(String value) { + for (AgentAppArgumentValueType b : AgentAppArgumentValueType.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + return String.format(java.util.Locale.ROOT, "%s=%s", prefix, this.toString()); + } + +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentAppConfig.java b/pe/src/main/java/org/thingsboard/client/model/AgentAppConfig.java new file mode 100644 index 00000000..2d029838 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentAppConfig.java @@ -0,0 +1,264 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.thingsboard.client.model.AgentAppArgument; +import org.thingsboard.client.model.AgentAppConfigType; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.JSON; +import org.thingsboard.client.ApiClient; +/** + * AgentAppConfig + */ +@JsonPropertyOrder({ + AgentAppConfig.JSON_PROPERTY_ARGUMENTS, + AgentAppConfig.JSON_PROPERTY_EDGE_ROUTING_KEY, + AgentAppConfig.JSON_PROPERTY_TYPE +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +@JsonIgnoreProperties( + value = "type", // ignore manually set type, it will be automatically generated by Jackson during serialization + allowSetters = true // allows the type to be set during deserialization +) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", visible = true) +@JsonSubTypes({ + @JsonSubTypes.Type(value = DockerComposeConfig.class, name = "DockerComposeConfig"), +}) + +public class AgentAppConfig { + public static final String JSON_PROPERTY_ARGUMENTS = "arguments"; + @Nullable + private List arguments = new ArrayList<>(); + + public static final String JSON_PROPERTY_EDGE_ROUTING_KEY = "edgeRoutingKey"; + @Nullable + private String edgeRoutingKey; + + public static final String JSON_PROPERTY_TYPE = "type"; + @Nullable + private AgentAppConfigType type; + + public AgentAppConfig() { + } + + public AgentAppConfig arguments(@Nullable List arguments) { + this.arguments = arguments; + return this; + } + + public AgentAppConfig addArgumentsItem(AgentAppArgument argumentsItem) { + if (this.arguments == null) { + this.arguments = new ArrayList<>(); + } + this.arguments.add(argumentsItem); + return this; + } + + /** + * Get arguments + * @return arguments + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_ARGUMENTS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getArguments() { + return arguments; + } + + + @JsonProperty(value = JSON_PROPERTY_ARGUMENTS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setArguments(@Nullable List arguments) { + this.arguments = arguments; + } + + + public AgentAppConfig edgeRoutingKey(@Nullable String edgeRoutingKey) { + this.edgeRoutingKey = edgeRoutingKey; + return this; + } + + /** + * Get edgeRoutingKey + * @return edgeRoutingKey + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_EDGE_ROUTING_KEY, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getEdgeRoutingKey() { + return edgeRoutingKey; + } + + + @JsonProperty(value = JSON_PROPERTY_EDGE_ROUTING_KEY, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setEdgeRoutingKey(@Nullable String edgeRoutingKey) { + this.edgeRoutingKey = edgeRoutingKey; + } + + + public AgentAppConfig type(@Nullable AgentAppConfigType type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TYPE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentAppConfigType getType() { + return type; + } + + + @JsonProperty(value = JSON_PROPERTY_TYPE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setType(@Nullable AgentAppConfigType type) { + this.type = type; + } + + + /** + * Return true if this AgentAppConfig object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AgentAppConfig agentAppConfig = (AgentAppConfig) o; + return Objects.equals(this.arguments, agentAppConfig.arguments) && + Objects.equals(this.edgeRoutingKey, agentAppConfig.edgeRoutingKey) && + Objects.equals(this.type, agentAppConfig.type); + } + + @Override + public int hashCode() { + return Objects.hash(arguments, edgeRoutingKey, type); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AgentAppConfig {\n"); + sb.append(" arguments: ").append(toIndentedString(arguments)).append("\n"); + sb.append(" edgeRoutingKey: ").append(toIndentedString(edgeRoutingKey)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `arguments` to the URL query string + if (getArguments() != null) { + for (int i = 0; i < getArguments().size(); i++) { + if (getArguments().get(i) != null) { + joiner.add(getArguments().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%sarguments%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); + } + } + } + + // add `edgeRoutingKey` to the URL query string + if (getEdgeRoutingKey() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sedgeRoutingKey%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getEdgeRoutingKey())))); + } + + // add `type` to the URL query string + if (getType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stype%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getType())))); + } + + return joiner.toString(); + } +static { + // Initialize and register the discriminator mappings. + Map> mappings = new HashMap>(); + mappings.put("DockerComposeConfig", DockerComposeConfig.class); + mappings.put("AgentAppConfig", AgentAppConfig.class); + JSON.registerDiscriminator(AgentAppConfig.class, "type", mappings); +} +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/ChatType.java b/pe/src/main/java/org/thingsboard/client/model/AgentAppConfigType.java similarity index 86% rename from pe/src/main/java/org/thingsboard/client/model/ChatType.java rename to pe/src/main/java/org/thingsboard/client/model/AgentAppConfigType.java index d207f22f..bb93f5c3 100644 --- a/pe/src/main/java/org/thingsboard/client/model/ChatType.java +++ b/pe/src/main/java/org/thingsboard/client/model/AgentAppConfigType.java @@ -28,17 +28,15 @@ import com.fasterxml.jackson.annotation.JsonValue; /** - * Gets or Sets ChatType + * Gets or Sets AgentAppConfigType */ -public enum ChatType { +public enum AgentAppConfigType { - GENERIC("GENERIC"), - - SOLUTION_BUILDER("SOLUTION_BUILDER"); + DOCKER_COMPOSE("DOCKER_COMPOSE"); private String value; - ChatType(String value) { + AgentAppConfigType(String value) { this.value = value; } @@ -53,8 +51,8 @@ public String toString() { } @JsonCreator - public static ChatType fromValue(String value) { - for (ChatType b : ChatType.values()) { + public static AgentAppConfigType fromValue(String value) { + for (AgentAppConfigType b : AgentAppConfigType.values()) { if (b.value.equals(value)) { return b; } diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentAppEvent.java b/pe/src/main/java/org/thingsboard/client/model/AgentAppEvent.java new file mode 100644 index 00000000..1cf57154 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentAppEvent.java @@ -0,0 +1,849 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; +import org.thingsboard.client.model.AgentAppEventActionType; +import org.thingsboard.client.model.AgentAppEventId; +import org.thingsboard.client.model.AgentAppEventStepStatesValue; +import org.thingsboard.client.model.AgentApplicationId; +import org.thingsboard.client.model.AgentId; +import org.thingsboard.client.model.AgentProcessingStatus; +import org.thingsboard.client.model.ProcessingStartStatus; +import org.thingsboard.client.model.TenantId; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * AgentAppEvent + */ +@JsonPropertyOrder({ + AgentAppEvent.JSON_PROPERTY_ID, + AgentAppEvent.JSON_PROPERTY_CREATED_TIME, + AgentAppEvent.JSON_PROPERTY_TENANT_ID, + AgentAppEvent.JSON_PROPERTY_APPLICATION_ID, + AgentAppEvent.JSON_PROPERTY_AGENT_ID, + AgentAppEvent.JSON_PROPERTY_APPLICATION_NAME, + AgentAppEvent.JSON_PROPERTY_ACTION_TYPE, + AgentAppEvent.JSON_PROPERTY_START_STATUS, + AgentAppEvent.JSON_PROPERTY_PROCESSING_STATUS, + AgentAppEvent.JSON_PROPERTY_CURRENT_STEP_ID, + AgentAppEvent.JSON_PROPERTY_CURRENT_ACTIVITY, + AgentAppEvent.JSON_PROPERTY_ERROR_MESSAGE, + AgentAppEvent.JSON_PROPERTY_UPDATED_TIME, + AgentAppEvent.JSON_PROPERTY_STEP_STATES, + AgentAppEvent.JSON_PROPERTY_BULK_ACTION_ID, + AgentAppEvent.JSON_PROPERTY_RESOLVED_ARGUMENTS, + AgentAppEvent.JSON_PROPERTY_WINNER_CONTAINER_ID, + AgentAppEvent.JSON_PROPERTY_FINALIZE_DEADLINE_TS, + AgentAppEvent.JSON_PROPERTY_CONTEXT_METADATA +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class AgentAppEvent { + public static final String JSON_PROPERTY_ID = "id"; + @Nullable + private AgentAppEventId id; + + public static final String JSON_PROPERTY_CREATED_TIME = "createdTime"; + @Nullable + private Long createdTime; + + public static final String JSON_PROPERTY_TENANT_ID = "tenantId"; + @Nullable + private TenantId tenantId; + + public static final String JSON_PROPERTY_APPLICATION_ID = "applicationId"; + @Nullable + private AgentApplicationId applicationId; + + public static final String JSON_PROPERTY_AGENT_ID = "agentId"; + @Nullable + private AgentId agentId; + + public static final String JSON_PROPERTY_APPLICATION_NAME = "applicationName"; + @Nullable + private String applicationName; + + public static final String JSON_PROPERTY_ACTION_TYPE = "actionType"; + @Nullable + private AgentAppEventActionType actionType; + + public static final String JSON_PROPERTY_START_STATUS = "startStatus"; + @Nullable + private ProcessingStartStatus startStatus; + + public static final String JSON_PROPERTY_PROCESSING_STATUS = "processingStatus"; + @Nullable + private AgentProcessingStatus processingStatus; + + public static final String JSON_PROPERTY_CURRENT_STEP_ID = "currentStepId"; + @Nullable + private UUID currentStepId; + + public static final String JSON_PROPERTY_CURRENT_ACTIVITY = "currentActivity"; + @Nullable + private String currentActivity; + + public static final String JSON_PROPERTY_ERROR_MESSAGE = "errorMessage"; + @Nullable + private String errorMessage; + + public static final String JSON_PROPERTY_UPDATED_TIME = "updatedTime"; + @Nullable + private Long updatedTime; + + public static final String JSON_PROPERTY_STEP_STATES = "stepStates"; + @Nullable + private Map stepStates = new HashMap<>(); + + public static final String JSON_PROPERTY_BULK_ACTION_ID = "bulkActionId"; + @Nullable + private UUID bulkActionId; + + public static final String JSON_PROPERTY_RESOLVED_ARGUMENTS = "resolvedArguments"; + @Nullable + private Map resolvedArguments = new HashMap<>(); + + public static final String JSON_PROPERTY_WINNER_CONTAINER_ID = "winnerContainerId"; + @Nullable + private String winnerContainerId; + + public static final String JSON_PROPERTY_FINALIZE_DEADLINE_TS = "finalizeDeadlineTs"; + @Nullable + private Long finalizeDeadlineTs; + + public static final String JSON_PROPERTY_CONTEXT_METADATA = "contextMetadata"; + @Nullable + private Map contextMetadata = new HashMap<>(); + + public AgentAppEvent() { + } + + @JsonCreator + public AgentAppEvent( + @JsonProperty(JSON_PROPERTY_CREATED_TIME) Long createdTime + ) { + this(); + this.createdTime = createdTime; + } + + public AgentAppEvent id(@Nullable AgentAppEventId id) { + this.id = id; + return this; + } + + /** + * JSON object with the Agent App Event Id. + * @return id + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentAppEventId getId() { + return id; + } + + + @JsonProperty(value = JSON_PROPERTY_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setId(@Nullable AgentAppEventId id) { + this.id = id; + } + + + /** + * Timestamp of the event creation, in milliseconds + * @return createdTime + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_CREATED_TIME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getCreatedTime() { + return createdTime; + } + + + + + public AgentAppEvent tenantId(@Nullable TenantId tenantId) { + this.tenantId = tenantId; + return this; + } + + /** + * Get tenantId + * @return tenantId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TENANT_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public TenantId getTenantId() { + return tenantId; + } + + + @JsonProperty(value = JSON_PROPERTY_TENANT_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setTenantId(@Nullable TenantId tenantId) { + this.tenantId = tenantId; + } + + + public AgentAppEvent applicationId(@Nullable AgentApplicationId applicationId) { + this.applicationId = applicationId; + return this; + } + + /** + * Get applicationId + * @return applicationId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_APPLICATION_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentApplicationId getApplicationId() { + return applicationId; + } + + + @JsonProperty(value = JSON_PROPERTY_APPLICATION_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setApplicationId(@Nullable AgentApplicationId applicationId) { + this.applicationId = applicationId; + } + + + public AgentAppEvent agentId(@Nullable AgentId agentId) { + this.agentId = agentId; + return this; + } + + /** + * Get agentId + * @return agentId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_AGENT_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentId getAgentId() { + return agentId; + } + + + @JsonProperty(value = JSON_PROPERTY_AGENT_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setAgentId(@Nullable AgentId agentId) { + this.agentId = agentId; + } + + + public AgentAppEvent applicationName(@Nullable String applicationName) { + this.applicationName = applicationName; + return this; + } + + /** + * Get applicationName + * @return applicationName + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_APPLICATION_NAME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getApplicationName() { + return applicationName; + } + + + @JsonProperty(value = JSON_PROPERTY_APPLICATION_NAME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setApplicationName(@Nullable String applicationName) { + this.applicationName = applicationName; + } + + + public AgentAppEvent actionType(@Nullable AgentAppEventActionType actionType) { + this.actionType = actionType; + return this; + } + + /** + * Get actionType + * @return actionType + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_ACTION_TYPE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentAppEventActionType getActionType() { + return actionType; + } + + + @JsonProperty(value = JSON_PROPERTY_ACTION_TYPE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setActionType(@Nullable AgentAppEventActionType actionType) { + this.actionType = actionType; + } + + + public AgentAppEvent startStatus(@Nullable ProcessingStartStatus startStatus) { + this.startStatus = startStatus; + return this; + } + + /** + * Get startStatus + * @return startStatus + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_START_STATUS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ProcessingStartStatus getStartStatus() { + return startStatus; + } + + + @JsonProperty(value = JSON_PROPERTY_START_STATUS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setStartStatus(@Nullable ProcessingStartStatus startStatus) { + this.startStatus = startStatus; + } + + + public AgentAppEvent processingStatus(@Nullable AgentProcessingStatus processingStatus) { + this.processingStatus = processingStatus; + return this; + } + + /** + * Get processingStatus + * @return processingStatus + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_PROCESSING_STATUS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentProcessingStatus getProcessingStatus() { + return processingStatus; + } + + + @JsonProperty(value = JSON_PROPERTY_PROCESSING_STATUS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setProcessingStatus(@Nullable AgentProcessingStatus processingStatus) { + this.processingStatus = processingStatus; + } + + + public AgentAppEvent currentStepId(@Nullable UUID currentStepId) { + this.currentStepId = currentStepId; + return this; + } + + /** + * Get currentStepId + * @return currentStepId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_CURRENT_STEP_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public UUID getCurrentStepId() { + return currentStepId; + } + + + @JsonProperty(value = JSON_PROPERTY_CURRENT_STEP_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCurrentStepId(@Nullable UUID currentStepId) { + this.currentStepId = currentStepId; + } + + + public AgentAppEvent currentActivity(@Nullable String currentActivity) { + this.currentActivity = currentActivity; + return this; + } + + /** + * Get currentActivity + * @return currentActivity + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_CURRENT_ACTIVITY, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getCurrentActivity() { + return currentActivity; + } + + + @JsonProperty(value = JSON_PROPERTY_CURRENT_ACTIVITY, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCurrentActivity(@Nullable String currentActivity) { + this.currentActivity = currentActivity; + } + + + public AgentAppEvent errorMessage(@Nullable String errorMessage) { + this.errorMessage = errorMessage; + return this; + } + + /** + * Get errorMessage + * @return errorMessage + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_ERROR_MESSAGE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getErrorMessage() { + return errorMessage; + } + + + @JsonProperty(value = JSON_PROPERTY_ERROR_MESSAGE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setErrorMessage(@Nullable String errorMessage) { + this.errorMessage = errorMessage; + } + + + public AgentAppEvent updatedTime(@Nullable Long updatedTime) { + this.updatedTime = updatedTime; + return this; + } + + /** + * Get updatedTime + * @return updatedTime + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_UPDATED_TIME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getUpdatedTime() { + return updatedTime; + } + + + @JsonProperty(value = JSON_PROPERTY_UPDATED_TIME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setUpdatedTime(@Nullable Long updatedTime) { + this.updatedTime = updatedTime; + } + + + public AgentAppEvent stepStates(@Nullable Map stepStates) { + this.stepStates = stepStates; + return this; + } + + public AgentAppEvent putStepStatesItem(String key, AgentAppEventStepStatesValue stepStatesItem) { + if (this.stepStates == null) { + this.stepStates = new HashMap<>(); + } + this.stepStates.put(key, stepStatesItem); + return this; + } + + /** + * Get stepStates + * @return stepStates + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_STEP_STATES, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Map getStepStates() { + return stepStates; + } + + + @JsonProperty(value = JSON_PROPERTY_STEP_STATES, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setStepStates(@Nullable Map stepStates) { + this.stepStates = stepStates; + } + + + public AgentAppEvent bulkActionId(@Nullable UUID bulkActionId) { + this.bulkActionId = bulkActionId; + return this; + } + + /** + * Get bulkActionId + * @return bulkActionId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_BULK_ACTION_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public UUID getBulkActionId() { + return bulkActionId; + } + + + @JsonProperty(value = JSON_PROPERTY_BULK_ACTION_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setBulkActionId(@Nullable UUID bulkActionId) { + this.bulkActionId = bulkActionId; + } + + + public AgentAppEvent resolvedArguments(@Nullable Map resolvedArguments) { + this.resolvedArguments = resolvedArguments; + return this; + } + + public AgentAppEvent putResolvedArgumentsItem(String key, String resolvedArgumentsItem) { + if (this.resolvedArguments == null) { + this.resolvedArguments = new HashMap<>(); + } + this.resolvedArguments.put(key, resolvedArgumentsItem); + return this; + } + + /** + * Get resolvedArguments + * @return resolvedArguments + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_RESOLVED_ARGUMENTS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Map getResolvedArguments() { + return resolvedArguments; + } + + + @JsonProperty(value = JSON_PROPERTY_RESOLVED_ARGUMENTS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setResolvedArguments(@Nullable Map resolvedArguments) { + this.resolvedArguments = resolvedArguments; + } + + + public AgentAppEvent winnerContainerId(@Nullable String winnerContainerId) { + this.winnerContainerId = winnerContainerId; + return this; + } + + /** + * Get winnerContainerId + * @return winnerContainerId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_WINNER_CONTAINER_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getWinnerContainerId() { + return winnerContainerId; + } + + + @JsonProperty(value = JSON_PROPERTY_WINNER_CONTAINER_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setWinnerContainerId(@Nullable String winnerContainerId) { + this.winnerContainerId = winnerContainerId; + } + + + public AgentAppEvent finalizeDeadlineTs(@Nullable Long finalizeDeadlineTs) { + this.finalizeDeadlineTs = finalizeDeadlineTs; + return this; + } + + /** + * Get finalizeDeadlineTs + * @return finalizeDeadlineTs + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_FINALIZE_DEADLINE_TS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getFinalizeDeadlineTs() { + return finalizeDeadlineTs; + } + + + @JsonProperty(value = JSON_PROPERTY_FINALIZE_DEADLINE_TS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setFinalizeDeadlineTs(@Nullable Long finalizeDeadlineTs) { + this.finalizeDeadlineTs = finalizeDeadlineTs; + } + + + public AgentAppEvent contextMetadata(@Nullable Map contextMetadata) { + this.contextMetadata = contextMetadata; + return this; + } + + public AgentAppEvent putContextMetadataItem(String key, String contextMetadataItem) { + if (this.contextMetadata == null) { + this.contextMetadata = new HashMap<>(); + } + this.contextMetadata.put(key, contextMetadataItem); + return this; + } + + /** + * Get contextMetadata + * @return contextMetadata + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_CONTEXT_METADATA, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Map getContextMetadata() { + return contextMetadata; + } + + + @JsonProperty(value = JSON_PROPERTY_CONTEXT_METADATA, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setContextMetadata(@Nullable Map contextMetadata) { + this.contextMetadata = contextMetadata; + } + + + /** + * Return true if this AgentAppEvent object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AgentAppEvent agentAppEvent = (AgentAppEvent) o; + return Objects.equals(this.id, agentAppEvent.id) && + Objects.equals(this.createdTime, agentAppEvent.createdTime) && + Objects.equals(this.tenantId, agentAppEvent.tenantId) && + Objects.equals(this.applicationId, agentAppEvent.applicationId) && + Objects.equals(this.agentId, agentAppEvent.agentId) && + Objects.equals(this.applicationName, agentAppEvent.applicationName) && + Objects.equals(this.actionType, agentAppEvent.actionType) && + Objects.equals(this.startStatus, agentAppEvent.startStatus) && + Objects.equals(this.processingStatus, agentAppEvent.processingStatus) && + Objects.equals(this.currentStepId, agentAppEvent.currentStepId) && + Objects.equals(this.currentActivity, agentAppEvent.currentActivity) && + Objects.equals(this.errorMessage, agentAppEvent.errorMessage) && + Objects.equals(this.updatedTime, agentAppEvent.updatedTime) && + Objects.equals(this.stepStates, agentAppEvent.stepStates) && + Objects.equals(this.bulkActionId, agentAppEvent.bulkActionId) && + Objects.equals(this.resolvedArguments, agentAppEvent.resolvedArguments) && + Objects.equals(this.winnerContainerId, agentAppEvent.winnerContainerId) && + Objects.equals(this.finalizeDeadlineTs, agentAppEvent.finalizeDeadlineTs) && + Objects.equals(this.contextMetadata, agentAppEvent.contextMetadata); + } + + @Override + public int hashCode() { + return Objects.hash(id, createdTime, tenantId, applicationId, agentId, applicationName, actionType, startStatus, processingStatus, currentStepId, currentActivity, errorMessage, updatedTime, stepStates, bulkActionId, resolvedArguments, winnerContainerId, finalizeDeadlineTs, contextMetadata); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AgentAppEvent {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" createdTime: ").append(toIndentedString(createdTime)).append("\n"); + sb.append(" tenantId: ").append(toIndentedString(tenantId)).append("\n"); + sb.append(" applicationId: ").append(toIndentedString(applicationId)).append("\n"); + sb.append(" agentId: ").append(toIndentedString(agentId)).append("\n"); + sb.append(" applicationName: ").append(toIndentedString(applicationName)).append("\n"); + sb.append(" actionType: ").append(toIndentedString(actionType)).append("\n"); + sb.append(" startStatus: ").append(toIndentedString(startStatus)).append("\n"); + sb.append(" processingStatus: ").append(toIndentedString(processingStatus)).append("\n"); + sb.append(" currentStepId: ").append(toIndentedString(currentStepId)).append("\n"); + sb.append(" currentActivity: ").append(toIndentedString(currentActivity)).append("\n"); + sb.append(" errorMessage: ").append(toIndentedString(errorMessage)).append("\n"); + sb.append(" updatedTime: ").append(toIndentedString(updatedTime)).append("\n"); + sb.append(" stepStates: ").append(toIndentedString(stepStates)).append("\n"); + sb.append(" bulkActionId: ").append(toIndentedString(bulkActionId)).append("\n"); + sb.append(" resolvedArguments: ").append(toIndentedString(resolvedArguments)).append("\n"); + sb.append(" winnerContainerId: ").append(toIndentedString(winnerContainerId)).append("\n"); + sb.append(" finalizeDeadlineTs: ").append(toIndentedString(finalizeDeadlineTs)).append("\n"); + sb.append(" contextMetadata: ").append(toIndentedString(contextMetadata)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(getId().toUrlQueryString(prefix + "id" + suffix)); + } + + // add `createdTime` to the URL query string + if (getCreatedTime() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%screatedTime%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getCreatedTime())))); + } + + // add `tenantId` to the URL query string + if (getTenantId() != null) { + joiner.add(getTenantId().toUrlQueryString(prefix + "tenantId" + suffix)); + } + + // add `applicationId` to the URL query string + if (getApplicationId() != null) { + joiner.add(getApplicationId().toUrlQueryString(prefix + "applicationId" + suffix)); + } + + // add `agentId` to the URL query string + if (getAgentId() != null) { + joiner.add(getAgentId().toUrlQueryString(prefix + "agentId" + suffix)); + } + + // add `applicationName` to the URL query string + if (getApplicationName() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sapplicationName%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getApplicationName())))); + } + + // add `actionType` to the URL query string + if (getActionType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sactionType%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getActionType())))); + } + + // add `startStatus` to the URL query string + if (getStartStatus() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sstartStatus%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getStartStatus())))); + } + + // add `processingStatus` to the URL query string + if (getProcessingStatus() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sprocessingStatus%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getProcessingStatus())))); + } + + // add `currentStepId` to the URL query string + if (getCurrentStepId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%scurrentStepId%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getCurrentStepId())))); + } + + // add `currentActivity` to the URL query string + if (getCurrentActivity() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%scurrentActivity%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getCurrentActivity())))); + } + + // add `errorMessage` to the URL query string + if (getErrorMessage() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%serrorMessage%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getErrorMessage())))); + } + + // add `updatedTime` to the URL query string + if (getUpdatedTime() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%supdatedTime%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getUpdatedTime())))); + } + + // add `stepStates` to the URL query string + if (getStepStates() != null) { + for (String _key : getStepStates().keySet()) { + if (getStepStates().get(_key) != null) { + joiner.add(getStepStates().get(_key).toUrlQueryString(String.format(java.util.Locale.ROOT, "%sstepStates%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, _key, containerSuffix)))); + } + } + } + + // add `bulkActionId` to the URL query string + if (getBulkActionId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sbulkActionId%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getBulkActionId())))); + } + + // add `resolvedArguments` to the URL query string + if (getResolvedArguments() != null) { + for (String _key : getResolvedArguments().keySet()) { + joiner.add(String.format(java.util.Locale.ROOT, "%sresolvedArguments%s%s=%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, _key, containerSuffix), + getResolvedArguments().get(_key), ApiClient.urlEncode(ApiClient.valueToString(getResolvedArguments().get(_key))))); + } + } + + // add `winnerContainerId` to the URL query string + if (getWinnerContainerId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%swinnerContainerId%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getWinnerContainerId())))); + } + + // add `finalizeDeadlineTs` to the URL query string + if (getFinalizeDeadlineTs() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sfinalizeDeadlineTs%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getFinalizeDeadlineTs())))); + } + + // add `contextMetadata` to the URL query string + if (getContextMetadata() != null) { + for (String _key : getContextMetadata().keySet()) { + joiner.add(String.format(java.util.Locale.ROOT, "%scontextMetadata%s%s=%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, _key, containerSuffix), + getContextMetadata().get(_key), ApiClient.urlEncode(ApiClient.valueToString(getContextMetadata().get(_key))))); + } + } + + return joiner.toString(); + } +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentAppEventActionType.java b/pe/src/main/java/org/thingsboard/client/model/AgentAppEventActionType.java new file mode 100644 index 00000000..c09799e1 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentAppEventActionType.java @@ -0,0 +1,90 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +/** + * Gets or Sets AgentAppEventActionType + */ +public enum AgentAppEventActionType { + + INSTALL("INSTALL"), + + UPDATE("UPDATE"), + + DELETE("DELETE"), + + RESTART("RESTART"), + + ROLLBACK("ROLLBACK"), + + UPGRADE("UPGRADE"), + + AGENT_UPGRADE("AGENT_UPGRADE"); + + private String value; + + AgentAppEventActionType(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static AgentAppEventActionType fromValue(String value) { + for (AgentAppEventActionType b : AgentAppEventActionType.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + return String.format(java.util.Locale.ROOT, "%s=%s", prefix, this.toString()); + } + +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentAppEventId.java b/pe/src/main/java/org/thingsboard/client/model/AgentAppEventId.java new file mode 100644 index 00000000..542dc3af --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentAppEventId.java @@ -0,0 +1,155 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nonnull; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import java.util.UUID; +import org.thingsboard.client.model.EntityId; +import org.thingsboard.client.model.EntityType; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.JSON; +import org.thingsboard.client.ApiClient; +/** + * AgentAppEventId + */ +@JsonPropertyOrder({ +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +@JsonIgnoreProperties( + value = "entityType", // ignore manually set entityType, it will be automatically generated by Jackson during serialization + allowSetters = true // allows the entityType to be set during deserialization +) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "entityType", visible = true) + +public class AgentAppEventId extends EntityId { + public AgentAppEventId() { + } + + @Override + public AgentAppEventId id(@Nonnull UUID id) { + this.setId(id); + return this; + } + + /** + * Return true if this AgentAppEventId object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + return super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AgentAppEventId {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `entityType` to the URL query string + if (getEntityType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sentityType%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getEntityType())))); + } + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sid%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getId())))); + } + + return joiner.toString(); + } +static { + // Initialize and register the discriminator mappings. + Map> mappings = new HashMap>(); + mappings.put("AgentAppEventId", AgentAppEventId.class); + JSON.registerDiscriminator(AgentAppEventId.class, "entityType", mappings); +} +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentAppEventInfo.java b/pe/src/main/java/org/thingsboard/client/model/AgentAppEventInfo.java new file mode 100644 index 00000000..6fa466d5 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentAppEventInfo.java @@ -0,0 +1,877 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; +import org.thingsboard.client.model.AgentAppEventActionType; +import org.thingsboard.client.model.AgentAppEventId; +import org.thingsboard.client.model.AgentAppEventStepStatesValue; +import org.thingsboard.client.model.AgentApplicationId; +import org.thingsboard.client.model.AgentId; +import org.thingsboard.client.model.AgentProcessingStatus; +import org.thingsboard.client.model.ProcessingStartStatus; +import org.thingsboard.client.model.TenantId; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * AgentAppEventInfo + */ +@JsonPropertyOrder({ + AgentAppEventInfo.JSON_PROPERTY_ID, + AgentAppEventInfo.JSON_PROPERTY_CREATED_TIME, + AgentAppEventInfo.JSON_PROPERTY_TENANT_ID, + AgentAppEventInfo.JSON_PROPERTY_APPLICATION_ID, + AgentAppEventInfo.JSON_PROPERTY_AGENT_ID, + AgentAppEventInfo.JSON_PROPERTY_APPLICATION_NAME, + AgentAppEventInfo.JSON_PROPERTY_ACTION_TYPE, + AgentAppEventInfo.JSON_PROPERTY_START_STATUS, + AgentAppEventInfo.JSON_PROPERTY_PROCESSING_STATUS, + AgentAppEventInfo.JSON_PROPERTY_CURRENT_STEP_ID, + AgentAppEventInfo.JSON_PROPERTY_CURRENT_ACTIVITY, + AgentAppEventInfo.JSON_PROPERTY_ERROR_MESSAGE, + AgentAppEventInfo.JSON_PROPERTY_UPDATED_TIME, + AgentAppEventInfo.JSON_PROPERTY_STEP_STATES, + AgentAppEventInfo.JSON_PROPERTY_BULK_ACTION_ID, + AgentAppEventInfo.JSON_PROPERTY_RESOLVED_ARGUMENTS, + AgentAppEventInfo.JSON_PROPERTY_WINNER_CONTAINER_ID, + AgentAppEventInfo.JSON_PROPERTY_FINALIZE_DEADLINE_TS, + AgentAppEventInfo.JSON_PROPERTY_CONTEXT_METADATA, + AgentAppEventInfo.JSON_PROPERTY_AGENT_NAME +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class AgentAppEventInfo { + public static final String JSON_PROPERTY_ID = "id"; + @Nullable + private AgentAppEventId id; + + public static final String JSON_PROPERTY_CREATED_TIME = "createdTime"; + @Nullable + private Long createdTime; + + public static final String JSON_PROPERTY_TENANT_ID = "tenantId"; + @Nullable + private TenantId tenantId; + + public static final String JSON_PROPERTY_APPLICATION_ID = "applicationId"; + @Nullable + private AgentApplicationId applicationId; + + public static final String JSON_PROPERTY_AGENT_ID = "agentId"; + @Nullable + private AgentId agentId; + + public static final String JSON_PROPERTY_APPLICATION_NAME = "applicationName"; + @Nullable + private String applicationName; + + public static final String JSON_PROPERTY_ACTION_TYPE = "actionType"; + @Nullable + private AgentAppEventActionType actionType; + + public static final String JSON_PROPERTY_START_STATUS = "startStatus"; + @Nullable + private ProcessingStartStatus startStatus; + + public static final String JSON_PROPERTY_PROCESSING_STATUS = "processingStatus"; + @Nullable + private AgentProcessingStatus processingStatus; + + public static final String JSON_PROPERTY_CURRENT_STEP_ID = "currentStepId"; + @Nullable + private UUID currentStepId; + + public static final String JSON_PROPERTY_CURRENT_ACTIVITY = "currentActivity"; + @Nullable + private String currentActivity; + + public static final String JSON_PROPERTY_ERROR_MESSAGE = "errorMessage"; + @Nullable + private String errorMessage; + + public static final String JSON_PROPERTY_UPDATED_TIME = "updatedTime"; + @Nullable + private Long updatedTime; + + public static final String JSON_PROPERTY_STEP_STATES = "stepStates"; + @Nullable + private Map stepStates = new HashMap<>(); + + public static final String JSON_PROPERTY_BULK_ACTION_ID = "bulkActionId"; + @Nullable + private UUID bulkActionId; + + public static final String JSON_PROPERTY_RESOLVED_ARGUMENTS = "resolvedArguments"; + @Nullable + private Map resolvedArguments = new HashMap<>(); + + public static final String JSON_PROPERTY_WINNER_CONTAINER_ID = "winnerContainerId"; + @Nullable + private String winnerContainerId; + + public static final String JSON_PROPERTY_FINALIZE_DEADLINE_TS = "finalizeDeadlineTs"; + @Nullable + private Long finalizeDeadlineTs; + + public static final String JSON_PROPERTY_CONTEXT_METADATA = "contextMetadata"; + @Nullable + private Map contextMetadata = new HashMap<>(); + + public static final String JSON_PROPERTY_AGENT_NAME = "agentName"; + @Nullable + private String agentName; + + public AgentAppEventInfo() { + } + + @JsonCreator + public AgentAppEventInfo( + @JsonProperty(JSON_PROPERTY_CREATED_TIME) Long createdTime, + @JsonProperty(JSON_PROPERTY_AGENT_NAME) String agentName + ) { + this(); + this.createdTime = createdTime; + this.agentName = agentName; + } + + public AgentAppEventInfo id(@Nullable AgentAppEventId id) { + this.id = id; + return this; + } + + /** + * JSON object with the Agent App Event Id. + * @return id + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentAppEventId getId() { + return id; + } + + + @JsonProperty(value = JSON_PROPERTY_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setId(@Nullable AgentAppEventId id) { + this.id = id; + } + + + /** + * Timestamp of the event creation, in milliseconds + * @return createdTime + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_CREATED_TIME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getCreatedTime() { + return createdTime; + } + + + + + public AgentAppEventInfo tenantId(@Nullable TenantId tenantId) { + this.tenantId = tenantId; + return this; + } + + /** + * Get tenantId + * @return tenantId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TENANT_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public TenantId getTenantId() { + return tenantId; + } + + + @JsonProperty(value = JSON_PROPERTY_TENANT_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setTenantId(@Nullable TenantId tenantId) { + this.tenantId = tenantId; + } + + + public AgentAppEventInfo applicationId(@Nullable AgentApplicationId applicationId) { + this.applicationId = applicationId; + return this; + } + + /** + * Get applicationId + * @return applicationId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_APPLICATION_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentApplicationId getApplicationId() { + return applicationId; + } + + + @JsonProperty(value = JSON_PROPERTY_APPLICATION_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setApplicationId(@Nullable AgentApplicationId applicationId) { + this.applicationId = applicationId; + } + + + public AgentAppEventInfo agentId(@Nullable AgentId agentId) { + this.agentId = agentId; + return this; + } + + /** + * Get agentId + * @return agentId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_AGENT_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentId getAgentId() { + return agentId; + } + + + @JsonProperty(value = JSON_PROPERTY_AGENT_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setAgentId(@Nullable AgentId agentId) { + this.agentId = agentId; + } + + + public AgentAppEventInfo applicationName(@Nullable String applicationName) { + this.applicationName = applicationName; + return this; + } + + /** + * Get applicationName + * @return applicationName + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_APPLICATION_NAME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getApplicationName() { + return applicationName; + } + + + @JsonProperty(value = JSON_PROPERTY_APPLICATION_NAME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setApplicationName(@Nullable String applicationName) { + this.applicationName = applicationName; + } + + + public AgentAppEventInfo actionType(@Nullable AgentAppEventActionType actionType) { + this.actionType = actionType; + return this; + } + + /** + * Get actionType + * @return actionType + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_ACTION_TYPE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentAppEventActionType getActionType() { + return actionType; + } + + + @JsonProperty(value = JSON_PROPERTY_ACTION_TYPE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setActionType(@Nullable AgentAppEventActionType actionType) { + this.actionType = actionType; + } + + + public AgentAppEventInfo startStatus(@Nullable ProcessingStartStatus startStatus) { + this.startStatus = startStatus; + return this; + } + + /** + * Get startStatus + * @return startStatus + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_START_STATUS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ProcessingStartStatus getStartStatus() { + return startStatus; + } + + + @JsonProperty(value = JSON_PROPERTY_START_STATUS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setStartStatus(@Nullable ProcessingStartStatus startStatus) { + this.startStatus = startStatus; + } + + + public AgentAppEventInfo processingStatus(@Nullable AgentProcessingStatus processingStatus) { + this.processingStatus = processingStatus; + return this; + } + + /** + * Get processingStatus + * @return processingStatus + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_PROCESSING_STATUS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentProcessingStatus getProcessingStatus() { + return processingStatus; + } + + + @JsonProperty(value = JSON_PROPERTY_PROCESSING_STATUS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setProcessingStatus(@Nullable AgentProcessingStatus processingStatus) { + this.processingStatus = processingStatus; + } + + + public AgentAppEventInfo currentStepId(@Nullable UUID currentStepId) { + this.currentStepId = currentStepId; + return this; + } + + /** + * Get currentStepId + * @return currentStepId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_CURRENT_STEP_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public UUID getCurrentStepId() { + return currentStepId; + } + + + @JsonProperty(value = JSON_PROPERTY_CURRENT_STEP_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCurrentStepId(@Nullable UUID currentStepId) { + this.currentStepId = currentStepId; + } + + + public AgentAppEventInfo currentActivity(@Nullable String currentActivity) { + this.currentActivity = currentActivity; + return this; + } + + /** + * Get currentActivity + * @return currentActivity + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_CURRENT_ACTIVITY, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getCurrentActivity() { + return currentActivity; + } + + + @JsonProperty(value = JSON_PROPERTY_CURRENT_ACTIVITY, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCurrentActivity(@Nullable String currentActivity) { + this.currentActivity = currentActivity; + } + + + public AgentAppEventInfo errorMessage(@Nullable String errorMessage) { + this.errorMessage = errorMessage; + return this; + } + + /** + * Get errorMessage + * @return errorMessage + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_ERROR_MESSAGE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getErrorMessage() { + return errorMessage; + } + + + @JsonProperty(value = JSON_PROPERTY_ERROR_MESSAGE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setErrorMessage(@Nullable String errorMessage) { + this.errorMessage = errorMessage; + } + + + public AgentAppEventInfo updatedTime(@Nullable Long updatedTime) { + this.updatedTime = updatedTime; + return this; + } + + /** + * Get updatedTime + * @return updatedTime + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_UPDATED_TIME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getUpdatedTime() { + return updatedTime; + } + + + @JsonProperty(value = JSON_PROPERTY_UPDATED_TIME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setUpdatedTime(@Nullable Long updatedTime) { + this.updatedTime = updatedTime; + } + + + public AgentAppEventInfo stepStates(@Nullable Map stepStates) { + this.stepStates = stepStates; + return this; + } + + public AgentAppEventInfo putStepStatesItem(String key, AgentAppEventStepStatesValue stepStatesItem) { + if (this.stepStates == null) { + this.stepStates = new HashMap<>(); + } + this.stepStates.put(key, stepStatesItem); + return this; + } + + /** + * Get stepStates + * @return stepStates + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_STEP_STATES, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Map getStepStates() { + return stepStates; + } + + + @JsonProperty(value = JSON_PROPERTY_STEP_STATES, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setStepStates(@Nullable Map stepStates) { + this.stepStates = stepStates; + } + + + public AgentAppEventInfo bulkActionId(@Nullable UUID bulkActionId) { + this.bulkActionId = bulkActionId; + return this; + } + + /** + * Get bulkActionId + * @return bulkActionId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_BULK_ACTION_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public UUID getBulkActionId() { + return bulkActionId; + } + + + @JsonProperty(value = JSON_PROPERTY_BULK_ACTION_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setBulkActionId(@Nullable UUID bulkActionId) { + this.bulkActionId = bulkActionId; + } + + + public AgentAppEventInfo resolvedArguments(@Nullable Map resolvedArguments) { + this.resolvedArguments = resolvedArguments; + return this; + } + + public AgentAppEventInfo putResolvedArgumentsItem(String key, String resolvedArgumentsItem) { + if (this.resolvedArguments == null) { + this.resolvedArguments = new HashMap<>(); + } + this.resolvedArguments.put(key, resolvedArgumentsItem); + return this; + } + + /** + * Get resolvedArguments + * @return resolvedArguments + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_RESOLVED_ARGUMENTS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Map getResolvedArguments() { + return resolvedArguments; + } + + + @JsonProperty(value = JSON_PROPERTY_RESOLVED_ARGUMENTS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setResolvedArguments(@Nullable Map resolvedArguments) { + this.resolvedArguments = resolvedArguments; + } + + + public AgentAppEventInfo winnerContainerId(@Nullable String winnerContainerId) { + this.winnerContainerId = winnerContainerId; + return this; + } + + /** + * Get winnerContainerId + * @return winnerContainerId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_WINNER_CONTAINER_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getWinnerContainerId() { + return winnerContainerId; + } + + + @JsonProperty(value = JSON_PROPERTY_WINNER_CONTAINER_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setWinnerContainerId(@Nullable String winnerContainerId) { + this.winnerContainerId = winnerContainerId; + } + + + public AgentAppEventInfo finalizeDeadlineTs(@Nullable Long finalizeDeadlineTs) { + this.finalizeDeadlineTs = finalizeDeadlineTs; + return this; + } + + /** + * Get finalizeDeadlineTs + * @return finalizeDeadlineTs + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_FINALIZE_DEADLINE_TS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getFinalizeDeadlineTs() { + return finalizeDeadlineTs; + } + + + @JsonProperty(value = JSON_PROPERTY_FINALIZE_DEADLINE_TS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setFinalizeDeadlineTs(@Nullable Long finalizeDeadlineTs) { + this.finalizeDeadlineTs = finalizeDeadlineTs; + } + + + public AgentAppEventInfo contextMetadata(@Nullable Map contextMetadata) { + this.contextMetadata = contextMetadata; + return this; + } + + public AgentAppEventInfo putContextMetadataItem(String key, String contextMetadataItem) { + if (this.contextMetadata == null) { + this.contextMetadata = new HashMap<>(); + } + this.contextMetadata.put(key, contextMetadataItem); + return this; + } + + /** + * Get contextMetadata + * @return contextMetadata + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_CONTEXT_METADATA, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Map getContextMetadata() { + return contextMetadata; + } + + + @JsonProperty(value = JSON_PROPERTY_CONTEXT_METADATA, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setContextMetadata(@Nullable Map contextMetadata) { + this.contextMetadata = contextMetadata; + } + + + /** + * Name of the Agent that owns the Application. + * @return agentName + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_AGENT_NAME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getAgentName() { + return agentName; + } + + + + + /** + * Return true if this AgentAppEventInfo object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AgentAppEventInfo agentAppEventInfo = (AgentAppEventInfo) o; + return Objects.equals(this.id, agentAppEventInfo.id) && + Objects.equals(this.createdTime, agentAppEventInfo.createdTime) && + Objects.equals(this.tenantId, agentAppEventInfo.tenantId) && + Objects.equals(this.applicationId, agentAppEventInfo.applicationId) && + Objects.equals(this.agentId, agentAppEventInfo.agentId) && + Objects.equals(this.applicationName, agentAppEventInfo.applicationName) && + Objects.equals(this.actionType, agentAppEventInfo.actionType) && + Objects.equals(this.startStatus, agentAppEventInfo.startStatus) && + Objects.equals(this.processingStatus, agentAppEventInfo.processingStatus) && + Objects.equals(this.currentStepId, agentAppEventInfo.currentStepId) && + Objects.equals(this.currentActivity, agentAppEventInfo.currentActivity) && + Objects.equals(this.errorMessage, agentAppEventInfo.errorMessage) && + Objects.equals(this.updatedTime, agentAppEventInfo.updatedTime) && + Objects.equals(this.stepStates, agentAppEventInfo.stepStates) && + Objects.equals(this.bulkActionId, agentAppEventInfo.bulkActionId) && + Objects.equals(this.resolvedArguments, agentAppEventInfo.resolvedArguments) && + Objects.equals(this.winnerContainerId, agentAppEventInfo.winnerContainerId) && + Objects.equals(this.finalizeDeadlineTs, agentAppEventInfo.finalizeDeadlineTs) && + Objects.equals(this.contextMetadata, agentAppEventInfo.contextMetadata) && + Objects.equals(this.agentName, agentAppEventInfo.agentName); + } + + @Override + public int hashCode() { + return Objects.hash(id, createdTime, tenantId, applicationId, agentId, applicationName, actionType, startStatus, processingStatus, currentStepId, currentActivity, errorMessage, updatedTime, stepStates, bulkActionId, resolvedArguments, winnerContainerId, finalizeDeadlineTs, contextMetadata, agentName); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AgentAppEventInfo {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" createdTime: ").append(toIndentedString(createdTime)).append("\n"); + sb.append(" tenantId: ").append(toIndentedString(tenantId)).append("\n"); + sb.append(" applicationId: ").append(toIndentedString(applicationId)).append("\n"); + sb.append(" agentId: ").append(toIndentedString(agentId)).append("\n"); + sb.append(" applicationName: ").append(toIndentedString(applicationName)).append("\n"); + sb.append(" actionType: ").append(toIndentedString(actionType)).append("\n"); + sb.append(" startStatus: ").append(toIndentedString(startStatus)).append("\n"); + sb.append(" processingStatus: ").append(toIndentedString(processingStatus)).append("\n"); + sb.append(" currentStepId: ").append(toIndentedString(currentStepId)).append("\n"); + sb.append(" currentActivity: ").append(toIndentedString(currentActivity)).append("\n"); + sb.append(" errorMessage: ").append(toIndentedString(errorMessage)).append("\n"); + sb.append(" updatedTime: ").append(toIndentedString(updatedTime)).append("\n"); + sb.append(" stepStates: ").append(toIndentedString(stepStates)).append("\n"); + sb.append(" bulkActionId: ").append(toIndentedString(bulkActionId)).append("\n"); + sb.append(" resolvedArguments: ").append(toIndentedString(resolvedArguments)).append("\n"); + sb.append(" winnerContainerId: ").append(toIndentedString(winnerContainerId)).append("\n"); + sb.append(" finalizeDeadlineTs: ").append(toIndentedString(finalizeDeadlineTs)).append("\n"); + sb.append(" contextMetadata: ").append(toIndentedString(contextMetadata)).append("\n"); + sb.append(" agentName: ").append(toIndentedString(agentName)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(getId().toUrlQueryString(prefix + "id" + suffix)); + } + + // add `createdTime` to the URL query string + if (getCreatedTime() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%screatedTime%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getCreatedTime())))); + } + + // add `tenantId` to the URL query string + if (getTenantId() != null) { + joiner.add(getTenantId().toUrlQueryString(prefix + "tenantId" + suffix)); + } + + // add `applicationId` to the URL query string + if (getApplicationId() != null) { + joiner.add(getApplicationId().toUrlQueryString(prefix + "applicationId" + suffix)); + } + + // add `agentId` to the URL query string + if (getAgentId() != null) { + joiner.add(getAgentId().toUrlQueryString(prefix + "agentId" + suffix)); + } + + // add `applicationName` to the URL query string + if (getApplicationName() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sapplicationName%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getApplicationName())))); + } + + // add `actionType` to the URL query string + if (getActionType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sactionType%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getActionType())))); + } + + // add `startStatus` to the URL query string + if (getStartStatus() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sstartStatus%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getStartStatus())))); + } + + // add `processingStatus` to the URL query string + if (getProcessingStatus() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sprocessingStatus%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getProcessingStatus())))); + } + + // add `currentStepId` to the URL query string + if (getCurrentStepId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%scurrentStepId%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getCurrentStepId())))); + } + + // add `currentActivity` to the URL query string + if (getCurrentActivity() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%scurrentActivity%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getCurrentActivity())))); + } + + // add `errorMessage` to the URL query string + if (getErrorMessage() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%serrorMessage%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getErrorMessage())))); + } + + // add `updatedTime` to the URL query string + if (getUpdatedTime() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%supdatedTime%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getUpdatedTime())))); + } + + // add `stepStates` to the URL query string + if (getStepStates() != null) { + for (String _key : getStepStates().keySet()) { + if (getStepStates().get(_key) != null) { + joiner.add(getStepStates().get(_key).toUrlQueryString(String.format(java.util.Locale.ROOT, "%sstepStates%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, _key, containerSuffix)))); + } + } + } + + // add `bulkActionId` to the URL query string + if (getBulkActionId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sbulkActionId%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getBulkActionId())))); + } + + // add `resolvedArguments` to the URL query string + if (getResolvedArguments() != null) { + for (String _key : getResolvedArguments().keySet()) { + joiner.add(String.format(java.util.Locale.ROOT, "%sresolvedArguments%s%s=%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, _key, containerSuffix), + getResolvedArguments().get(_key), ApiClient.urlEncode(ApiClient.valueToString(getResolvedArguments().get(_key))))); + } + } + + // add `winnerContainerId` to the URL query string + if (getWinnerContainerId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%swinnerContainerId%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getWinnerContainerId())))); + } + + // add `finalizeDeadlineTs` to the URL query string + if (getFinalizeDeadlineTs() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sfinalizeDeadlineTs%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getFinalizeDeadlineTs())))); + } + + // add `contextMetadata` to the URL query string + if (getContextMetadata() != null) { + for (String _key : getContextMetadata().keySet()) { + joiner.add(String.format(java.util.Locale.ROOT, "%scontextMetadata%s%s=%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, _key, containerSuffix), + getContextMetadata().get(_key), ApiClient.urlEncode(ApiClient.valueToString(getContextMetadata().get(_key))))); + } + } + + // add `agentName` to the URL query string + if (getAgentName() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sagentName%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getAgentName())))); + } + + return joiner.toString(); + } +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentAppEventRequest.java b/pe/src/main/java/org/thingsboard/client/model/AgentAppEventRequest.java new file mode 100644 index 00000000..6360ae4a --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentAppEventRequest.java @@ -0,0 +1,355 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; +import org.thingsboard.client.model.AgentAppEventActionType; +import org.thingsboard.client.model.AgentAppEventStepStatesValue; +import org.thingsboard.client.model.AgentApplication; +import org.thingsboard.client.model.EntityId; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * Request payload for creating an agent application event (install, update, upgrade, restart, delete, etc.). + */ +@JsonPropertyOrder({ + AgentAppEventRequest.JSON_PROPERTY_ACTION_TYPE, + AgentAppEventRequest.JSON_PROPERTY_APPLICATION, + AgentAppEventRequest.JSON_PROPERTY_STEP_INPUTS, + AgentAppEventRequest.JSON_PROPERTY_RELATED_ENTITY_ID, + AgentAppEventRequest.JSON_PROPERTY_BULK_ACTION_ID, + AgentAppEventRequest.JSON_PROPERTY_SKIP_PROFILE_REFETCH +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class AgentAppEventRequest { + public static final String JSON_PROPERTY_ACTION_TYPE = "actionType"; + @Nullable + private AgentAppEventActionType actionType; + + public static final String JSON_PROPERTY_APPLICATION = "application"; + @Nullable + private AgentApplication application; + + public static final String JSON_PROPERTY_STEP_INPUTS = "stepInputs"; + @Nullable + private Map stepInputs = new HashMap<>(); + + public static final String JSON_PROPERTY_RELATED_ENTITY_ID = "relatedEntityId"; + @Nullable + private EntityId relatedEntityId; + + public static final String JSON_PROPERTY_BULK_ACTION_ID = "bulkActionId"; + @Nullable + private UUID bulkActionId; + + public static final String JSON_PROPERTY_SKIP_PROFILE_REFETCH = "skipProfileRefetch"; + @Nullable + private Boolean skipProfileRefetch; + + public AgentAppEventRequest() { + } + + public AgentAppEventRequest actionType(@Nullable AgentAppEventActionType actionType) { + this.actionType = actionType; + return this; + } + + /** + * Action to perform against the agent application. + * @return actionType + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_ACTION_TYPE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentAppEventActionType getActionType() { + return actionType; + } + + + @JsonProperty(value = JSON_PROPERTY_ACTION_TYPE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setActionType(@Nullable AgentAppEventActionType actionType) { + this.actionType = actionType; + } + + + public AgentAppEventRequest application(@Nullable AgentApplication application) { + this.application = application; + return this; + } + + /** + * Agent application payload supplied by the caller. Used to carry name/config changes for UPDATE and the target state for INSTALL/UPGRADE. + * @return application + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_APPLICATION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentApplication getApplication() { + return application; + } + + + @JsonProperty(value = JSON_PROPERTY_APPLICATION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setApplication(@Nullable AgentApplication application) { + this.application = application; + } + + + public AgentAppEventRequest stepInputs(@Nullable Map stepInputs) { + this.stepInputs = stepInputs; + return this; + } + + public AgentAppEventRequest putStepInputsItem(String key, AgentAppEventStepStatesValue stepInputsItem) { + if (this.stepInputs == null) { + this.stepInputs = new HashMap<>(); + } + this.stepInputs.put(key, stepInputsItem); + return this; + } + + /** + * Per-step input overrides keyed by step id (e.g. pullImages flag, backup volume selection). + * @return stepInputs + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_STEP_INPUTS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Map getStepInputs() { + return stepInputs; + } + + + @JsonProperty(value = JSON_PROPERTY_STEP_INPUTS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setStepInputs(@Nullable Map stepInputs) { + this.stepInputs = stepInputs; + } + + + public AgentAppEventRequest relatedEntityId(@Nullable EntityId relatedEntityId) { + this.relatedEntityId = relatedEntityId; + return this; + } + + /** + * INSTALL-action optional related entity (Edge or Gateway Device) to link to the application in the same operation. When set, the application is created and the relation is assigned atomically. Ignored for non-INSTALL actions. + * @return relatedEntityId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_RELATED_ENTITY_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public EntityId getRelatedEntityId() { + return relatedEntityId; + } + + + @JsonProperty(value = JSON_PROPERTY_RELATED_ENTITY_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setRelatedEntityId(@Nullable EntityId relatedEntityId) { + this.relatedEntityId = relatedEntityId; + } + + + public AgentAppEventRequest bulkActionId(@Nullable UUID bulkActionId) { + this.bulkActionId = bulkActionId; + return this; + } + + /** + * Optional bulk-action correlation id. When the same value is used across multiple application events, duplicates are deduplicated server-side. + * @return bulkActionId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_BULK_ACTION_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public UUID getBulkActionId() { + return bulkActionId; + } + + + @JsonProperty(value = JSON_PROPERTY_BULK_ACTION_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setBulkActionId(@Nullable UUID bulkActionId) { + this.bulkActionId = bulkActionId; + } + + + public AgentAppEventRequest skipProfileRefetch(@Nullable Boolean skipProfileRefetch) { + this.skipProfileRefetch = skipProfileRefetch; + return this; + } + + /** + * UPDATE-action flag for profile-managed apps. When true, the compose is not re-resolved from the (possibly upgraded) profile — only the credentials carried by `application.config` are applied. Ignored for non-UPDATE actions and for non-profile-managed apps. + * @return skipProfileRefetch + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_SKIP_PROFILE_REFETCH, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getSkipProfileRefetch() { + return skipProfileRefetch; + } + + + @JsonProperty(value = JSON_PROPERTY_SKIP_PROFILE_REFETCH, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setSkipProfileRefetch(@Nullable Boolean skipProfileRefetch) { + this.skipProfileRefetch = skipProfileRefetch; + } + + + /** + * Return true if this AgentAppEventRequest object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AgentAppEventRequest agentAppEventRequest = (AgentAppEventRequest) o; + return Objects.equals(this.actionType, agentAppEventRequest.actionType) && + Objects.equals(this.application, agentAppEventRequest.application) && + Objects.equals(this.stepInputs, agentAppEventRequest.stepInputs) && + Objects.equals(this.relatedEntityId, agentAppEventRequest.relatedEntityId) && + Objects.equals(this.bulkActionId, agentAppEventRequest.bulkActionId) && + Objects.equals(this.skipProfileRefetch, agentAppEventRequest.skipProfileRefetch); + } + + @Override + public int hashCode() { + return Objects.hash(actionType, application, stepInputs, relatedEntityId, bulkActionId, skipProfileRefetch); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AgentAppEventRequest {\n"); + sb.append(" actionType: ").append(toIndentedString(actionType)).append("\n"); + sb.append(" application: ").append(toIndentedString(application)).append("\n"); + sb.append(" stepInputs: ").append(toIndentedString(stepInputs)).append("\n"); + sb.append(" relatedEntityId: ").append(toIndentedString(relatedEntityId)).append("\n"); + sb.append(" bulkActionId: ").append(toIndentedString(bulkActionId)).append("\n"); + sb.append(" skipProfileRefetch: ").append(toIndentedString(skipProfileRefetch)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `actionType` to the URL query string + if (getActionType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sactionType%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getActionType())))); + } + + // add `application` to the URL query string + if (getApplication() != null) { + joiner.add(getApplication().toUrlQueryString(prefix + "application" + suffix)); + } + + // add `stepInputs` to the URL query string + if (getStepInputs() != null) { + for (String _key : getStepInputs().keySet()) { + if (getStepInputs().get(_key) != null) { + joiner.add(getStepInputs().get(_key).toUrlQueryString(String.format(java.util.Locale.ROOT, "%sstepInputs%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, _key, containerSuffix)))); + } + } + } + + // add `relatedEntityId` to the URL query string + if (getRelatedEntityId() != null) { + joiner.add(getRelatedEntityId().toUrlQueryString(prefix + "relatedEntityId" + suffix)); + } + + // add `bulkActionId` to the URL query string + if (getBulkActionId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sbulkActionId%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getBulkActionId())))); + } + + // add `skipProfileRefetch` to the URL query string + if (getSkipProfileRefetch() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sskipProfileRefetch%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getSkipProfileRefetch())))); + } + + return joiner.toString(); + } +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentAppEventStepStatesValue.java b/pe/src/main/java/org/thingsboard/client/model/AgentAppEventStepStatesValue.java new file mode 100644 index 00000000..45143eba --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentAppEventStepStatesValue.java @@ -0,0 +1,483 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import org.thingsboard.client.model.AgentAppStepType; +import org.thingsboard.client.model.BackupVolumesStepState; +import org.thingsboard.client.model.ComposeDownStepState; +import org.thingsboard.client.model.ComposeStepState; +import org.thingsboard.client.model.RollBackStepState; +import org.thingsboard.client.model.RunJobStepState; +import org.thingsboard.client.model.StepFieldAgentAppEventId; +import org.thingsboard.client.model.StepFieldBoolean; +import org.thingsboard.client.model.StepFieldInteger; +import org.thingsboard.client.model.StepFieldListString; +import org.thingsboard.client.model.StepFieldString; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + +import com.fasterxml.jackson.core.type.TypeReference; + +import java.io.IOException; +import java.util.logging.Level; +import java.util.logging.Logger; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashSet; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.JsonToken; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.MapperFeature; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import org.thingsboard.client.ApiClient; +import org.thingsboard.client.JSON; + +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +@JsonDeserialize(using = AgentAppEventStepStatesValue.AgentAppEventStepStatesValueDeserializer.class) +@JsonSerialize(using = AgentAppEventStepStatesValue.AgentAppEventStepStatesValueSerializer.class) +public class AgentAppEventStepStatesValue extends AbstractOpenApiSchema { + private static final Logger log = Logger.getLogger(AgentAppEventStepStatesValue.class.getName()); + + public static class AgentAppEventStepStatesValueSerializer extends StdSerializer { + public AgentAppEventStepStatesValueSerializer(Class t) { + super(t); + } + + public AgentAppEventStepStatesValueSerializer() { + this(null); + } + + @Override + public void serialize(AgentAppEventStepStatesValue value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { + jgen.writeObject(value.getActualInstance()); + } + } + + public static class AgentAppEventStepStatesValueDeserializer extends StdDeserializer { + public AgentAppEventStepStatesValueDeserializer() { + this(AgentAppEventStepStatesValue.class); + } + + public AgentAppEventStepStatesValueDeserializer(Class vc) { + super(vc); + } + + @Override + public AgentAppEventStepStatesValue deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { + JsonNode tree = jp.readValueAsTree(); + Object deserialized = null; + boolean typeCoercion = ctxt.isEnabled(MapperFeature.ALLOW_COERCION_OF_SCALARS); + int match = 0; + JsonToken token = tree.traverse(jp.getCodec()).nextToken(); + // deserialize BackupVolumesStepState + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (BackupVolumesStepState.class.equals(Integer.class) || BackupVolumesStepState.class.equals(Long.class) || BackupVolumesStepState.class.equals(Float.class) || BackupVolumesStepState.class.equals(Double.class) || BackupVolumesStepState.class.equals(Boolean.class) || BackupVolumesStepState.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((BackupVolumesStepState.class.equals(Integer.class) || BackupVolumesStepState.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((BackupVolumesStepState.class.equals(Float.class) || BackupVolumesStepState.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (BackupVolumesStepState.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (BackupVolumesStepState.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(BackupVolumesStepState.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'BackupVolumesStepState'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'BackupVolumesStepState'", e); + } + + // deserialize ComposeDownStepState + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (ComposeDownStepState.class.equals(Integer.class) || ComposeDownStepState.class.equals(Long.class) || ComposeDownStepState.class.equals(Float.class) || ComposeDownStepState.class.equals(Double.class) || ComposeDownStepState.class.equals(Boolean.class) || ComposeDownStepState.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((ComposeDownStepState.class.equals(Integer.class) || ComposeDownStepState.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((ComposeDownStepState.class.equals(Float.class) || ComposeDownStepState.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (ComposeDownStepState.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (ComposeDownStepState.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(ComposeDownStepState.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'ComposeDownStepState'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'ComposeDownStepState'", e); + } + + // deserialize ComposeStepState + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (ComposeStepState.class.equals(Integer.class) || ComposeStepState.class.equals(Long.class) || ComposeStepState.class.equals(Float.class) || ComposeStepState.class.equals(Double.class) || ComposeStepState.class.equals(Boolean.class) || ComposeStepState.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((ComposeStepState.class.equals(Integer.class) || ComposeStepState.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((ComposeStepState.class.equals(Float.class) || ComposeStepState.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (ComposeStepState.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (ComposeStepState.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(ComposeStepState.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'ComposeStepState'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'ComposeStepState'", e); + } + + // deserialize RollBackStepState + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (RollBackStepState.class.equals(Integer.class) || RollBackStepState.class.equals(Long.class) || RollBackStepState.class.equals(Float.class) || RollBackStepState.class.equals(Double.class) || RollBackStepState.class.equals(Boolean.class) || RollBackStepState.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((RollBackStepState.class.equals(Integer.class) || RollBackStepState.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((RollBackStepState.class.equals(Float.class) || RollBackStepState.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (RollBackStepState.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (RollBackStepState.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(RollBackStepState.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'RollBackStepState'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'RollBackStepState'", e); + } + + // deserialize RunJobStepState + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (RunJobStepState.class.equals(Integer.class) || RunJobStepState.class.equals(Long.class) || RunJobStepState.class.equals(Float.class) || RunJobStepState.class.equals(Double.class) || RunJobStepState.class.equals(Boolean.class) || RunJobStepState.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((RunJobStepState.class.equals(Integer.class) || RunJobStepState.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((RunJobStepState.class.equals(Float.class) || RunJobStepState.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (RunJobStepState.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (RunJobStepState.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(RunJobStepState.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'RunJobStepState'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'RunJobStepState'", e); + } + + if (match == 1) { + AgentAppEventStepStatesValue ret = new AgentAppEventStepStatesValue(); + ret.setActualInstance(deserialized); + return ret; + } + throw new IOException(String.format(java.util.Locale.ROOT, "Failed deserialization for AgentAppEventStepStatesValue: %d classes match result, expected 1", match)); + } + + /** + * Handle deserialization of the 'null' value. + */ + @Override + public AgentAppEventStepStatesValue getNullValue(DeserializationContext ctxt) throws JsonMappingException { + throw new JsonMappingException(ctxt.getParser(), "AgentAppEventStepStatesValue cannot be null"); + } + } + + // store a list of schema names defined in oneOf + public static final Map> schemas = new HashMap<>(); + + public AgentAppEventStepStatesValue() { + super("oneOf", Boolean.FALSE); + } + + public AgentAppEventStepStatesValue(BackupVolumesStepState o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public AgentAppEventStepStatesValue(ComposeDownStepState o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public AgentAppEventStepStatesValue(ComposeStepState o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public AgentAppEventStepStatesValue(RollBackStepState o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public AgentAppEventStepStatesValue(RunJobStepState o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + static { + schemas.put("BackupVolumesStepState", BackupVolumesStepState.class); + schemas.put("ComposeDownStepState", ComposeDownStepState.class); + schemas.put("ComposeStepState", ComposeStepState.class); + schemas.put("RollBackStepState", RollBackStepState.class); + schemas.put("RunJobStepState", RunJobStepState.class); + JSON.registerDescendants(AgentAppEventStepStatesValue.class, Collections.unmodifiableMap(schemas)); + // Initialize and register the discriminator mappings. + Map> mappings = new HashMap>(); + mappings.put("BackupVolumesStepState", BackupVolumesStepState.class); + mappings.put("ComposeDownStepState", ComposeDownStepState.class); + mappings.put("ComposeStepState", ComposeStepState.class); + mappings.put("RollBackStepState", RollBackStepState.class); + mappings.put("RunJobStepState", RunJobStepState.class); + mappings.put("AgentAppEvent_stepStates_value", AgentAppEventStepStatesValue.class); + JSON.registerDiscriminator(AgentAppEventStepStatesValue.class, "type", mappings); + } + + @Override + public Map> getSchemas() { + return AgentAppEventStepStatesValue.schemas; + } + + /** + * Set the instance that matches the oneOf child schema, check + * the instance parameter is valid against the oneOf child schemas: + * BackupVolumesStepState, ComposeDownStepState, ComposeStepState, RollBackStepState, RunJobStepState + * + * It could be an instance of the 'oneOf' schemas. + * The oneOf child schemas may themselves be a composed schema (allOf, anyOf, oneOf). + */ + @Override + public void setActualInstance(Object instance) { + if (JSON.isInstanceOf(BackupVolumesStepState.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(ComposeDownStepState.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(ComposeStepState.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(RollBackStepState.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(RunJobStepState.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + throw new RuntimeException("Invalid instance type. Must be BackupVolumesStepState, ComposeDownStepState, ComposeStepState, RollBackStepState, RunJobStepState"); + } + + /** + * Get the actual instance, which can be the following: + * BackupVolumesStepState, ComposeDownStepState, ComposeStepState, RollBackStepState, RunJobStepState + * + * @return The actual instance (BackupVolumesStepState, ComposeDownStepState, ComposeStepState, RollBackStepState, RunJobStepState) + */ + @Override + public Object getActualInstance() { + return super.getActualInstance(); + } + + /** + * Get the actual instance of `BackupVolumesStepState`. If the actual instance is not `BackupVolumesStepState`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `BackupVolumesStepState` + * @throws ClassCastException if the instance is not `BackupVolumesStepState` + */ + public BackupVolumesStepState getBackupVolumesStepState() throws ClassCastException { + return (BackupVolumesStepState)super.getActualInstance(); + } + + /** + * Get the actual instance of `ComposeDownStepState`. If the actual instance is not `ComposeDownStepState`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `ComposeDownStepState` + * @throws ClassCastException if the instance is not `ComposeDownStepState` + */ + public ComposeDownStepState getComposeDownStepState() throws ClassCastException { + return (ComposeDownStepState)super.getActualInstance(); + } + + /** + * Get the actual instance of `ComposeStepState`. If the actual instance is not `ComposeStepState`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `ComposeStepState` + * @throws ClassCastException if the instance is not `ComposeStepState` + */ + public ComposeStepState getComposeStepState() throws ClassCastException { + return (ComposeStepState)super.getActualInstance(); + } + + /** + * Get the actual instance of `RollBackStepState`. If the actual instance is not `RollBackStepState`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `RollBackStepState` + * @throws ClassCastException if the instance is not `RollBackStepState` + */ + public RollBackStepState getRollBackStepState() throws ClassCastException { + return (RollBackStepState)super.getActualInstance(); + } + + /** + * Get the actual instance of `RunJobStepState`. If the actual instance is not `RunJobStepState`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `RunJobStepState` + * @throws ClassCastException if the instance is not `RunJobStepState` + */ + public RunJobStepState getRunJobStepState() throws ClassCastException { + return (RunJobStepState)super.getActualInstance(); + } + + + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + if (getActualInstance() instanceof BackupVolumesStepState) { + if (getActualInstance() != null) { + joiner.add(((BackupVolumesStepState)getActualInstance()).toUrlQueryString(prefix + "one_of_0" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof ComposeDownStepState) { + if (getActualInstance() != null) { + joiner.add(((ComposeDownStepState)getActualInstance()).toUrlQueryString(prefix + "one_of_1" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof ComposeStepState) { + if (getActualInstance() != null) { + joiner.add(((ComposeStepState)getActualInstance()).toUrlQueryString(prefix + "one_of_2" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof RollBackStepState) { + if (getActualInstance() != null) { + joiner.add(((RollBackStepState)getActualInstance()).toUrlQueryString(prefix + "one_of_3" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof RunJobStepState) { + if (getActualInstance() != null) { + joiner.add(((RunJobStepState)getActualInstance()).toUrlQueryString(prefix + "one_of_4" + suffix)); + } + return joiner.toString(); + } + return null; + } + +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentAppInstallResponse.java b/pe/src/main/java/org/thingsboard/client/model/AgentAppInstallResponse.java new file mode 100644 index 00000000..7ae0cc27 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentAppInstallResponse.java @@ -0,0 +1,193 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import org.thingsboard.client.model.AgentAppEvent; +import org.thingsboard.client.model.AgentApplication; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * Response payload for the install-agent-application endpoint. Carries both the created application and the INSTALL event so the caller can open a progress dialog without a second round-trip. + */ +@JsonPropertyOrder({ + AgentAppInstallResponse.JSON_PROPERTY_APPLICATION, + AgentAppInstallResponse.JSON_PROPERTY_EVENT +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class AgentAppInstallResponse { + public static final String JSON_PROPERTY_APPLICATION = "application"; + @Nullable + private AgentApplication application; + + public static final String JSON_PROPERTY_EVENT = "event"; + @Nullable + private AgentAppEvent event; + + public AgentAppInstallResponse() { + } + + public AgentAppInstallResponse application(@Nullable AgentApplication application) { + this.application = application; + return this; + } + + /** + * The newly created agent application. + * @return application + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_APPLICATION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentApplication getApplication() { + return application; + } + + + @JsonProperty(value = JSON_PROPERTY_APPLICATION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setApplication(@Nullable AgentApplication application) { + this.application = application; + } + + + public AgentAppInstallResponse event(@Nullable AgentAppEvent event) { + this.event = event; + return this; + } + + /** + * The INSTALL event created alongside the application. + * @return event + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_EVENT, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentAppEvent getEvent() { + return event; + } + + + @JsonProperty(value = JSON_PROPERTY_EVENT, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setEvent(@Nullable AgentAppEvent event) { + this.event = event; + } + + + /** + * Return true if this AgentAppInstallResponse object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AgentAppInstallResponse agentAppInstallResponse = (AgentAppInstallResponse) o; + return Objects.equals(this.application, agentAppInstallResponse.application) && + Objects.equals(this.event, agentAppInstallResponse.event); + } + + @Override + public int hashCode() { + return Objects.hash(application, event); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AgentAppInstallResponse {\n"); + sb.append(" application: ").append(toIndentedString(application)).append("\n"); + sb.append(" event: ").append(toIndentedString(event)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `application` to the URL query string + if (getApplication() != null) { + joiner.add(getApplication().toUrlQueryString(prefix + "application" + suffix)); + } + + // add `event` to the URL query string + if (getEvent() != null) { + joiner.add(getEvent().toUrlQueryString(prefix + "event" + suffix)); + } + + return joiner.toString(); + } +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentAppProfile.java b/pe/src/main/java/org/thingsboard/client/model/AgentAppProfile.java new file mode 100644 index 00000000..d3e7b07a --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentAppProfile.java @@ -0,0 +1,438 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import org.thingsboard.client.model.AgentAppProfileId; +import org.thingsboard.client.model.AgentApplicationType; +import org.thingsboard.client.model.DockerComposeConfig; +import org.thingsboard.client.model.TenantId; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * AgentAppProfile + */ +@JsonPropertyOrder({ + AgentAppProfile.JSON_PROPERTY_ID, + AgentAppProfile.JSON_PROPERTY_CREATED_TIME, + AgentAppProfile.JSON_PROPERTY_TENANT_ID, + AgentAppProfile.JSON_PROPERTY_NAME, + AgentAppProfile.JSON_PROPERTY_DESCRIPTION, + AgentAppProfile.JSON_PROPERTY_APP_TYPE, + AgentAppProfile.JSON_PROPERTY_TEMPLATE_VERSION, + AgentAppProfile.JSON_PROPERTY_CONFIG, + AgentAppProfile.JSON_PROPERTY_VERSION +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class AgentAppProfile { + public static final String JSON_PROPERTY_ID = "id"; + @Nullable + private AgentAppProfileId id; + + public static final String JSON_PROPERTY_CREATED_TIME = "createdTime"; + @Nullable + private Long createdTime; + + public static final String JSON_PROPERTY_TENANT_ID = "tenantId"; + @Nullable + private TenantId tenantId; + + public static final String JSON_PROPERTY_NAME = "name"; + @Nonnull + private String name; + + public static final String JSON_PROPERTY_DESCRIPTION = "description"; + @Nullable + private String description; + + public static final String JSON_PROPERTY_APP_TYPE = "appType"; + @Nonnull + private AgentApplicationType appType; + + public static final String JSON_PROPERTY_TEMPLATE_VERSION = "templateVersion"; + @Nonnull + private String templateVersion; + + public static final String JSON_PROPERTY_CONFIG = "config"; + @Nullable + private DockerComposeConfig config; + + public static final String JSON_PROPERTY_VERSION = "version"; + @Nullable + private Long version; + + public AgentAppProfile() { + } + + @JsonCreator + public AgentAppProfile( + @JsonProperty(JSON_PROPERTY_CREATED_TIME) Long createdTime, + @JsonProperty(JSON_PROPERTY_TENANT_ID) TenantId tenantId + ) { + this(); + this.createdTime = createdTime; + this.tenantId = tenantId; + } + + public AgentAppProfile id(@Nullable AgentAppProfileId id) { + this.id = id; + return this; + } + + /** + * JSON object with the Agent Application Profile Id. + * @return id + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentAppProfileId getId() { + return id; + } + + + @JsonProperty(value = JSON_PROPERTY_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setId(@Nullable AgentAppProfileId id) { + this.id = id; + } + + + /** + * Timestamp of the profile creation, in milliseconds + * @return createdTime + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_CREATED_TIME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getCreatedTime() { + return createdTime; + } + + + + + /** + * JSON object with Tenant Id. + * @return tenantId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TENANT_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public TenantId getTenantId() { + return tenantId; + } + + + + + public AgentAppProfile name(@Nonnull String name) { + this.name = name; + return this; + } + + /** + * Unique profile name within tenant + * @return name + */ + @Nonnull + @JsonProperty(value = JSON_PROPERTY_NAME, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getName() { + return name; + } + + + @JsonProperty(value = JSON_PROPERTY_NAME, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setName(@Nonnull String name) { + this.name = name; + } + + + public AgentAppProfile description(@Nullable String description) { + this.description = description; + return this; + } + + /** + * Profile description + * @return description + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_DESCRIPTION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getDescription() { + return description; + } + + + @JsonProperty(value = JSON_PROPERTY_DESCRIPTION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setDescription(@Nullable String description) { + this.description = description; + } + + + public AgentAppProfile appType(@Nonnull AgentApplicationType appType) { + this.appType = appType; + return this; + } + + /** + * Application type: EDGE, GATEWAY, or GENERIC + * @return appType + */ + @Nonnull + @JsonProperty(value = JSON_PROPERTY_APP_TYPE, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public AgentApplicationType getAppType() { + return appType; + } + + + @JsonProperty(value = JSON_PROPERTY_APP_TYPE, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setAppType(@Nonnull AgentApplicationType appType) { + this.appType = appType; + } + + + public AgentAppProfile templateVersion(@Nonnull String templateVersion) { + this.templateVersion = templateVersion; + return this; + } + + /** + * Template version this profile is based on + * @return templateVersion + */ + @Nonnull + @JsonProperty(value = JSON_PROPERTY_TEMPLATE_VERSION, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getTemplateVersion() { + return templateVersion; + } + + + @JsonProperty(value = JSON_PROPERTY_TEMPLATE_VERSION, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setTemplateVersion(@Nonnull String templateVersion) { + this.templateVersion = templateVersion; + } + + + public AgentAppProfile config(@Nullable DockerComposeConfig config) { + this.config = config; + return this; + } + + /** + * Get config + * @return config + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_CONFIG, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public DockerComposeConfig getConfig() { + return config; + } + + + @JsonProperty(value = JSON_PROPERTY_CONFIG, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setConfig(@Nullable DockerComposeConfig config) { + this.config = config; + } + + + public AgentAppProfile version(@Nullable Long version) { + this.version = version; + return this; + } + + /** + * Get version + * @return version + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_VERSION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getVersion() { + return version; + } + + + @JsonProperty(value = JSON_PROPERTY_VERSION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setVersion(@Nullable Long version) { + this.version = version; + } + + + /** + * Return true if this AgentAppProfile object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AgentAppProfile agentAppProfile = (AgentAppProfile) o; + return Objects.equals(this.id, agentAppProfile.id) && + Objects.equals(this.createdTime, agentAppProfile.createdTime) && + Objects.equals(this.tenantId, agentAppProfile.tenantId) && + Objects.equals(this.name, agentAppProfile.name) && + Objects.equals(this.description, agentAppProfile.description) && + Objects.equals(this.appType, agentAppProfile.appType) && + Objects.equals(this.templateVersion, agentAppProfile.templateVersion) && + Objects.equals(this.config, agentAppProfile.config) && + Objects.equals(this.version, agentAppProfile.version); + } + + @Override + public int hashCode() { + return Objects.hash(id, createdTime, tenantId, name, description, appType, templateVersion, config, version); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AgentAppProfile {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" createdTime: ").append(toIndentedString(createdTime)).append("\n"); + sb.append(" tenantId: ").append(toIndentedString(tenantId)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" appType: ").append(toIndentedString(appType)).append("\n"); + sb.append(" templateVersion: ").append(toIndentedString(templateVersion)).append("\n"); + sb.append(" config: ").append(toIndentedString(config)).append("\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(getId().toUrlQueryString(prefix + "id" + suffix)); + } + + // add `createdTime` to the URL query string + if (getCreatedTime() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%screatedTime%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getCreatedTime())))); + } + + // add `tenantId` to the URL query string + if (getTenantId() != null) { + joiner.add(getTenantId().toUrlQueryString(prefix + "tenantId" + suffix)); + } + + // add `name` to the URL query string + if (getName() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sname%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getName())))); + } + + // add `description` to the URL query string + if (getDescription() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sdescription%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getDescription())))); + } + + // add `appType` to the URL query string + if (getAppType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sappType%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getAppType())))); + } + + // add `templateVersion` to the URL query string + if (getTemplateVersion() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stemplateVersion%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTemplateVersion())))); + } + + // add `config` to the URL query string + if (getConfig() != null) { + joiner.add(getConfig().toUrlQueryString(prefix + "config" + suffix)); + } + + // add `version` to the URL query string + if (getVersion() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sversion%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getVersion())))); + } + + return joiner.toString(); + } +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentAppProfileId.java b/pe/src/main/java/org/thingsboard/client/model/AgentAppProfileId.java new file mode 100644 index 00000000..2975fe40 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentAppProfileId.java @@ -0,0 +1,155 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nonnull; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import java.util.UUID; +import org.thingsboard.client.model.EntityId; +import org.thingsboard.client.model.EntityType; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.JSON; +import org.thingsboard.client.ApiClient; +/** + * AgentAppProfileId + */ +@JsonPropertyOrder({ +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +@JsonIgnoreProperties( + value = "entityType", // ignore manually set entityType, it will be automatically generated by Jackson during serialization + allowSetters = true // allows the entityType to be set during deserialization +) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "entityType", visible = true) + +public class AgentAppProfileId extends EntityId { + public AgentAppProfileId() { + } + + @Override + public AgentAppProfileId id(@Nonnull UUID id) { + this.setId(id); + return this; + } + + /** + * Return true if this AgentAppProfileId object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + return super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AgentAppProfileId {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `entityType` to the URL query string + if (getEntityType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sentityType%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getEntityType())))); + } + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sid%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getId())))); + } + + return joiner.toString(); + } +static { + // Initialize and register the discriminator mappings. + Map> mappings = new HashMap>(); + mappings.put("AgentAppProfileId", AgentAppProfileId.class); + JSON.registerDiscriminator(AgentAppProfileId.class, "entityType", mappings); +} +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentAppProfileInfo.java b/pe/src/main/java/org/thingsboard/client/model/AgentAppProfileInfo.java new file mode 100644 index 00000000..cad8117b --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentAppProfileInfo.java @@ -0,0 +1,466 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import org.thingsboard.client.model.AgentAppProfileId; +import org.thingsboard.client.model.AgentApplicationType; +import org.thingsboard.client.model.DockerComposeConfig; +import org.thingsboard.client.model.TenantId; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * AgentAppProfileInfo + */ +@JsonPropertyOrder({ + AgentAppProfileInfo.JSON_PROPERTY_ID, + AgentAppProfileInfo.JSON_PROPERTY_CREATED_TIME, + AgentAppProfileInfo.JSON_PROPERTY_TENANT_ID, + AgentAppProfileInfo.JSON_PROPERTY_NAME, + AgentAppProfileInfo.JSON_PROPERTY_DESCRIPTION, + AgentAppProfileInfo.JSON_PROPERTY_APP_TYPE, + AgentAppProfileInfo.JSON_PROPERTY_TEMPLATE_VERSION, + AgentAppProfileInfo.JSON_PROPERTY_CONFIG, + AgentAppProfileInfo.JSON_PROPERTY_VERSION, + AgentAppProfileInfo.JSON_PROPERTY_TEMPLATE_CURRENT_VERSION +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class AgentAppProfileInfo { + public static final String JSON_PROPERTY_ID = "id"; + @Nullable + private AgentAppProfileId id; + + public static final String JSON_PROPERTY_CREATED_TIME = "createdTime"; + @Nullable + private Long createdTime; + + public static final String JSON_PROPERTY_TENANT_ID = "tenantId"; + @Nullable + private TenantId tenantId; + + public static final String JSON_PROPERTY_NAME = "name"; + @Nonnull + private String name; + + public static final String JSON_PROPERTY_DESCRIPTION = "description"; + @Nullable + private String description; + + public static final String JSON_PROPERTY_APP_TYPE = "appType"; + @Nonnull + private AgentApplicationType appType; + + public static final String JSON_PROPERTY_TEMPLATE_VERSION = "templateVersion"; + @Nonnull + private String templateVersion; + + public static final String JSON_PROPERTY_CONFIG = "config"; + @Nullable + private DockerComposeConfig config; + + public static final String JSON_PROPERTY_VERSION = "version"; + @Nullable + private Long version; + + public static final String JSON_PROPERTY_TEMPLATE_CURRENT_VERSION = "templateCurrentVersion"; + @Nullable + private String templateCurrentVersion; + + public AgentAppProfileInfo() { + } + + @JsonCreator + public AgentAppProfileInfo( + @JsonProperty(JSON_PROPERTY_CREATED_TIME) Long createdTime, + @JsonProperty(JSON_PROPERTY_TENANT_ID) TenantId tenantId, + @JsonProperty(JSON_PROPERTY_TEMPLATE_CURRENT_VERSION) String templateCurrentVersion + ) { + this(); + this.createdTime = createdTime; + this.tenantId = tenantId; + this.templateCurrentVersion = templateCurrentVersion; + } + + public AgentAppProfileInfo id(@Nullable AgentAppProfileId id) { + this.id = id; + return this; + } + + /** + * JSON object with the Agent Application Profile Id. + * @return id + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentAppProfileId getId() { + return id; + } + + + @JsonProperty(value = JSON_PROPERTY_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setId(@Nullable AgentAppProfileId id) { + this.id = id; + } + + + /** + * Timestamp of the profile creation, in milliseconds + * @return createdTime + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_CREATED_TIME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getCreatedTime() { + return createdTime; + } + + + + + /** + * JSON object with Tenant Id. + * @return tenantId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TENANT_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public TenantId getTenantId() { + return tenantId; + } + + + + + public AgentAppProfileInfo name(@Nonnull String name) { + this.name = name; + return this; + } + + /** + * Unique profile name within tenant + * @return name + */ + @Nonnull + @JsonProperty(value = JSON_PROPERTY_NAME, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getName() { + return name; + } + + + @JsonProperty(value = JSON_PROPERTY_NAME, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setName(@Nonnull String name) { + this.name = name; + } + + + public AgentAppProfileInfo description(@Nullable String description) { + this.description = description; + return this; + } + + /** + * Profile description + * @return description + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_DESCRIPTION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getDescription() { + return description; + } + + + @JsonProperty(value = JSON_PROPERTY_DESCRIPTION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setDescription(@Nullable String description) { + this.description = description; + } + + + public AgentAppProfileInfo appType(@Nonnull AgentApplicationType appType) { + this.appType = appType; + return this; + } + + /** + * Application type: EDGE, GATEWAY, or GENERIC + * @return appType + */ + @Nonnull + @JsonProperty(value = JSON_PROPERTY_APP_TYPE, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public AgentApplicationType getAppType() { + return appType; + } + + + @JsonProperty(value = JSON_PROPERTY_APP_TYPE, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setAppType(@Nonnull AgentApplicationType appType) { + this.appType = appType; + } + + + public AgentAppProfileInfo templateVersion(@Nonnull String templateVersion) { + this.templateVersion = templateVersion; + return this; + } + + /** + * Template version this profile is based on + * @return templateVersion + */ + @Nonnull + @JsonProperty(value = JSON_PROPERTY_TEMPLATE_VERSION, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getTemplateVersion() { + return templateVersion; + } + + + @JsonProperty(value = JSON_PROPERTY_TEMPLATE_VERSION, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setTemplateVersion(@Nonnull String templateVersion) { + this.templateVersion = templateVersion; + } + + + public AgentAppProfileInfo config(@Nullable DockerComposeConfig config) { + this.config = config; + return this; + } + + /** + * Get config + * @return config + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_CONFIG, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public DockerComposeConfig getConfig() { + return config; + } + + + @JsonProperty(value = JSON_PROPERTY_CONFIG, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setConfig(@Nullable DockerComposeConfig config) { + this.config = config; + } + + + public AgentAppProfileInfo version(@Nullable Long version) { + this.version = version; + return this; + } + + /** + * Get version + * @return version + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_VERSION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getVersion() { + return version; + } + + + @JsonProperty(value = JSON_PROPERTY_VERSION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setVersion(@Nullable Long version) { + this.version = version; + } + + + /** + * Current version of the template this profile points to. + * @return templateCurrentVersion + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TEMPLATE_CURRENT_VERSION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getTemplateCurrentVersion() { + return templateCurrentVersion; + } + + + + + /** + * Return true if this AgentAppProfileInfo object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AgentAppProfileInfo agentAppProfileInfo = (AgentAppProfileInfo) o; + return Objects.equals(this.id, agentAppProfileInfo.id) && + Objects.equals(this.createdTime, agentAppProfileInfo.createdTime) && + Objects.equals(this.tenantId, agentAppProfileInfo.tenantId) && + Objects.equals(this.name, agentAppProfileInfo.name) && + Objects.equals(this.description, agentAppProfileInfo.description) && + Objects.equals(this.appType, agentAppProfileInfo.appType) && + Objects.equals(this.templateVersion, agentAppProfileInfo.templateVersion) && + Objects.equals(this.config, agentAppProfileInfo.config) && + Objects.equals(this.version, agentAppProfileInfo.version) && + Objects.equals(this.templateCurrentVersion, agentAppProfileInfo.templateCurrentVersion); + } + + @Override + public int hashCode() { + return Objects.hash(id, createdTime, tenantId, name, description, appType, templateVersion, config, version, templateCurrentVersion); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AgentAppProfileInfo {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" createdTime: ").append(toIndentedString(createdTime)).append("\n"); + sb.append(" tenantId: ").append(toIndentedString(tenantId)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" appType: ").append(toIndentedString(appType)).append("\n"); + sb.append(" templateVersion: ").append(toIndentedString(templateVersion)).append("\n"); + sb.append(" config: ").append(toIndentedString(config)).append("\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append(" templateCurrentVersion: ").append(toIndentedString(templateCurrentVersion)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(getId().toUrlQueryString(prefix + "id" + suffix)); + } + + // add `createdTime` to the URL query string + if (getCreatedTime() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%screatedTime%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getCreatedTime())))); + } + + // add `tenantId` to the URL query string + if (getTenantId() != null) { + joiner.add(getTenantId().toUrlQueryString(prefix + "tenantId" + suffix)); + } + + // add `name` to the URL query string + if (getName() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sname%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getName())))); + } + + // add `description` to the URL query string + if (getDescription() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sdescription%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getDescription())))); + } + + // add `appType` to the URL query string + if (getAppType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sappType%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getAppType())))); + } + + // add `templateVersion` to the URL query string + if (getTemplateVersion() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stemplateVersion%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTemplateVersion())))); + } + + // add `config` to the URL query string + if (getConfig() != null) { + joiner.add(getConfig().toUrlQueryString(prefix + "config" + suffix)); + } + + // add `version` to the URL query string + if (getVersion() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sversion%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getVersion())))); + } + + // add `templateCurrentVersion` to the URL query string + if (getTemplateCurrentVersion() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stemplateCurrentVersion%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTemplateCurrentVersion())))); + } + + return joiner.toString(); + } +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentAppProfileRelationInfo.java b/pe/src/main/java/org/thingsboard/client/model/AgentAppProfileRelationInfo.java new file mode 100644 index 00000000..b4ebba71 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentAppProfileRelationInfo.java @@ -0,0 +1,551 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import org.thingsboard.client.model.AgentAppProfileId; +import org.thingsboard.client.model.AgentApplicationType; +import org.thingsboard.client.model.AgentProfileId; +import org.thingsboard.client.model.DockerComposeConfig; +import org.thingsboard.client.model.TenantId; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * AgentAppProfileRelationInfo + */ +@JsonPropertyOrder({ + AgentAppProfileRelationInfo.JSON_PROPERTY_ID, + AgentAppProfileRelationInfo.JSON_PROPERTY_CREATED_TIME, + AgentAppProfileRelationInfo.JSON_PROPERTY_TENANT_ID, + AgentAppProfileRelationInfo.JSON_PROPERTY_NAME, + AgentAppProfileRelationInfo.JSON_PROPERTY_DESCRIPTION, + AgentAppProfileRelationInfo.JSON_PROPERTY_APP_TYPE, + AgentAppProfileRelationInfo.JSON_PROPERTY_TEMPLATE_VERSION, + AgentAppProfileRelationInfo.JSON_PROPERTY_CONFIG, + AgentAppProfileRelationInfo.JSON_PROPERTY_VERSION, + AgentAppProfileRelationInfo.JSON_PROPERTY_TEMPLATE_CURRENT_VERSION, + AgentAppProfileRelationInfo.JSON_PROPERTY_AGENT_PROFILE_ID, + AgentAppProfileRelationInfo.JSON_PROPERTY_ASSIGNED_APPLICATIONS_COUNT, + AgentAppProfileRelationInfo.JSON_PROPERTY_ADDITIONAL_INFO +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class AgentAppProfileRelationInfo { + public static final String JSON_PROPERTY_ID = "id"; + @Nullable + private AgentAppProfileId id; + + public static final String JSON_PROPERTY_CREATED_TIME = "createdTime"; + @Nullable + private Long createdTime; + + public static final String JSON_PROPERTY_TENANT_ID = "tenantId"; + @Nullable + private TenantId tenantId; + + public static final String JSON_PROPERTY_NAME = "name"; + @Nonnull + private String name; + + public static final String JSON_PROPERTY_DESCRIPTION = "description"; + @Nullable + private String description; + + public static final String JSON_PROPERTY_APP_TYPE = "appType"; + @Nonnull + private AgentApplicationType appType; + + public static final String JSON_PROPERTY_TEMPLATE_VERSION = "templateVersion"; + @Nonnull + private String templateVersion; + + public static final String JSON_PROPERTY_CONFIG = "config"; + @Nullable + private DockerComposeConfig config; + + public static final String JSON_PROPERTY_VERSION = "version"; + @Nullable + private Long version; + + public static final String JSON_PROPERTY_TEMPLATE_CURRENT_VERSION = "templateCurrentVersion"; + @Nullable + private String templateCurrentVersion; + + public static final String JSON_PROPERTY_AGENT_PROFILE_ID = "agentProfileId"; + @Nullable + private AgentProfileId agentProfileId; + + public static final String JSON_PROPERTY_ASSIGNED_APPLICATIONS_COUNT = "assignedApplicationsCount"; + @Nullable + private Long assignedApplicationsCount; + + public static final String JSON_PROPERTY_ADDITIONAL_INFO = "additionalInfo"; + @Nullable + private com.fasterxml.jackson.databind.JsonNode additionalInfo; + + public AgentAppProfileRelationInfo() { + } + + @JsonCreator + public AgentAppProfileRelationInfo( + @JsonProperty(JSON_PROPERTY_CREATED_TIME) Long createdTime, + @JsonProperty(JSON_PROPERTY_TENANT_ID) TenantId tenantId, + @JsonProperty(JSON_PROPERTY_TEMPLATE_CURRENT_VERSION) String templateCurrentVersion, + @JsonProperty(JSON_PROPERTY_AGENT_PROFILE_ID) AgentProfileId agentProfileId, + @JsonProperty(JSON_PROPERTY_ASSIGNED_APPLICATIONS_COUNT) Long assignedApplicationsCount, + @JsonProperty(JSON_PROPERTY_ADDITIONAL_INFO) com.fasterxml.jackson.databind.JsonNode additionalInfo + ) { + this(); + this.createdTime = createdTime; + this.tenantId = tenantId; + this.templateCurrentVersion = templateCurrentVersion; + this.agentProfileId = agentProfileId; + this.assignedApplicationsCount = assignedApplicationsCount; + this.additionalInfo = additionalInfo; + } + + public AgentAppProfileRelationInfo id(@Nullable AgentAppProfileId id) { + this.id = id; + return this; + } + + /** + * JSON object with the Agent Application Profile Id. + * @return id + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentAppProfileId getId() { + return id; + } + + + @JsonProperty(value = JSON_PROPERTY_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setId(@Nullable AgentAppProfileId id) { + this.id = id; + } + + + /** + * Timestamp of the profile creation, in milliseconds + * @return createdTime + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_CREATED_TIME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getCreatedTime() { + return createdTime; + } + + + + + /** + * JSON object with Tenant Id. + * @return tenantId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TENANT_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public TenantId getTenantId() { + return tenantId; + } + + + + + public AgentAppProfileRelationInfo name(@Nonnull String name) { + this.name = name; + return this; + } + + /** + * Unique profile name within tenant + * @return name + */ + @Nonnull + @JsonProperty(value = JSON_PROPERTY_NAME, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getName() { + return name; + } + + + @JsonProperty(value = JSON_PROPERTY_NAME, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setName(@Nonnull String name) { + this.name = name; + } + + + public AgentAppProfileRelationInfo description(@Nullable String description) { + this.description = description; + return this; + } + + /** + * Profile description + * @return description + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_DESCRIPTION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getDescription() { + return description; + } + + + @JsonProperty(value = JSON_PROPERTY_DESCRIPTION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setDescription(@Nullable String description) { + this.description = description; + } + + + public AgentAppProfileRelationInfo appType(@Nonnull AgentApplicationType appType) { + this.appType = appType; + return this; + } + + /** + * Application type: EDGE, GATEWAY, or GENERIC + * @return appType + */ + @Nonnull + @JsonProperty(value = JSON_PROPERTY_APP_TYPE, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public AgentApplicationType getAppType() { + return appType; + } + + + @JsonProperty(value = JSON_PROPERTY_APP_TYPE, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setAppType(@Nonnull AgentApplicationType appType) { + this.appType = appType; + } + + + public AgentAppProfileRelationInfo templateVersion(@Nonnull String templateVersion) { + this.templateVersion = templateVersion; + return this; + } + + /** + * Template version this profile is based on + * @return templateVersion + */ + @Nonnull + @JsonProperty(value = JSON_PROPERTY_TEMPLATE_VERSION, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getTemplateVersion() { + return templateVersion; + } + + + @JsonProperty(value = JSON_PROPERTY_TEMPLATE_VERSION, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setTemplateVersion(@Nonnull String templateVersion) { + this.templateVersion = templateVersion; + } + + + public AgentAppProfileRelationInfo config(@Nullable DockerComposeConfig config) { + this.config = config; + return this; + } + + /** + * Get config + * @return config + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_CONFIG, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public DockerComposeConfig getConfig() { + return config; + } + + + @JsonProperty(value = JSON_PROPERTY_CONFIG, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setConfig(@Nullable DockerComposeConfig config) { + this.config = config; + } + + + public AgentAppProfileRelationInfo version(@Nullable Long version) { + this.version = version; + return this; + } + + /** + * Get version + * @return version + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_VERSION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getVersion() { + return version; + } + + + @JsonProperty(value = JSON_PROPERTY_VERSION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setVersion(@Nullable Long version) { + this.version = version; + } + + + /** + * Current version of the template this profile points to. + * @return templateCurrentVersion + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TEMPLATE_CURRENT_VERSION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getTemplateCurrentVersion() { + return templateCurrentVersion; + } + + + + + /** + * JSON object with the Agent Profile Id this app profile is assigned to. + * @return agentProfileId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_AGENT_PROFILE_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentProfileId getAgentProfileId() { + return agentProfileId; + } + + + + + /** + * Number of AgentApplications using this app profile within the agent profile. + * @return assignedApplicationsCount + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_ASSIGNED_APPLICATIONS_COUNT, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getAssignedApplicationsCount() { + return assignedApplicationsCount; + } + + + + + /** + * Additional info of the assignment relation between the agent profile and this app profile. + * @return additionalInfo + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_ADDITIONAL_INFO, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public com.fasterxml.jackson.databind.JsonNode getAdditionalInfo() { + return additionalInfo; + } + + + + + /** + * Return true if this AgentAppProfileRelationInfo object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AgentAppProfileRelationInfo agentAppProfileRelationInfo = (AgentAppProfileRelationInfo) o; + return Objects.equals(this.id, agentAppProfileRelationInfo.id) && + Objects.equals(this.createdTime, agentAppProfileRelationInfo.createdTime) && + Objects.equals(this.tenantId, agentAppProfileRelationInfo.tenantId) && + Objects.equals(this.name, agentAppProfileRelationInfo.name) && + Objects.equals(this.description, agentAppProfileRelationInfo.description) && + Objects.equals(this.appType, agentAppProfileRelationInfo.appType) && + Objects.equals(this.templateVersion, agentAppProfileRelationInfo.templateVersion) && + Objects.equals(this.config, agentAppProfileRelationInfo.config) && + Objects.equals(this.version, agentAppProfileRelationInfo.version) && + Objects.equals(this.templateCurrentVersion, agentAppProfileRelationInfo.templateCurrentVersion) && + Objects.equals(this.agentProfileId, agentAppProfileRelationInfo.agentProfileId) && + Objects.equals(this.assignedApplicationsCount, agentAppProfileRelationInfo.assignedApplicationsCount) && + Objects.equals(this.additionalInfo, agentAppProfileRelationInfo.additionalInfo); + } + + @Override + public int hashCode() { + return Objects.hash(id, createdTime, tenantId, name, description, appType, templateVersion, config, version, templateCurrentVersion, agentProfileId, assignedApplicationsCount, additionalInfo); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AgentAppProfileRelationInfo {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" createdTime: ").append(toIndentedString(createdTime)).append("\n"); + sb.append(" tenantId: ").append(toIndentedString(tenantId)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" appType: ").append(toIndentedString(appType)).append("\n"); + sb.append(" templateVersion: ").append(toIndentedString(templateVersion)).append("\n"); + sb.append(" config: ").append(toIndentedString(config)).append("\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append(" templateCurrentVersion: ").append(toIndentedString(templateCurrentVersion)).append("\n"); + sb.append(" agentProfileId: ").append(toIndentedString(agentProfileId)).append("\n"); + sb.append(" assignedApplicationsCount: ").append(toIndentedString(assignedApplicationsCount)).append("\n"); + sb.append(" additionalInfo: ").append(toIndentedString(additionalInfo)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(getId().toUrlQueryString(prefix + "id" + suffix)); + } + + // add `createdTime` to the URL query string + if (getCreatedTime() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%screatedTime%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getCreatedTime())))); + } + + // add `tenantId` to the URL query string + if (getTenantId() != null) { + joiner.add(getTenantId().toUrlQueryString(prefix + "tenantId" + suffix)); + } + + // add `name` to the URL query string + if (getName() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sname%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getName())))); + } + + // add `description` to the URL query string + if (getDescription() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sdescription%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getDescription())))); + } + + // add `appType` to the URL query string + if (getAppType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sappType%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getAppType())))); + } + + // add `templateVersion` to the URL query string + if (getTemplateVersion() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stemplateVersion%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTemplateVersion())))); + } + + // add `config` to the URL query string + if (getConfig() != null) { + joiner.add(getConfig().toUrlQueryString(prefix + "config" + suffix)); + } + + // add `version` to the URL query string + if (getVersion() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sversion%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getVersion())))); + } + + // add `templateCurrentVersion` to the URL query string + if (getTemplateCurrentVersion() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stemplateCurrentVersion%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTemplateCurrentVersion())))); + } + + // add `agentProfileId` to the URL query string + if (getAgentProfileId() != null) { + joiner.add(getAgentProfileId().toUrlQueryString(prefix + "agentProfileId" + suffix)); + } + + // add `assignedApplicationsCount` to the URL query string + if (getAssignedApplicationsCount() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sassignedApplicationsCount%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getAssignedApplicationsCount())))); + } + + // add `additionalInfo` to the URL query string + if (getAdditionalInfo() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sadditionalInfo%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getAdditionalInfo())))); + } + + return joiner.toString(); + } +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentAppStep.java b/pe/src/main/java/org/thingsboard/client/model/AgentAppStep.java new file mode 100644 index 00000000..f1a30564 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentAppStep.java @@ -0,0 +1,413 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import java.util.UUID; +import org.thingsboard.client.model.AgentAppStepType; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.JSON; +import org.thingsboard.client.ApiClient; +/** + * AgentAppStep + */ +@JsonPropertyOrder({ + AgentAppStep.JSON_PROPERTY_ID, + AgentAppStep.JSON_PROPERTY_NEXT_ID, + AgentAppStep.JSON_PROPERTY_TITLE, + AgentAppStep.JSON_PROPERTY_TEMPLATE_ONLY, + AgentAppStep.JSON_PROPERTY_CONDITION, + AgentAppStep.JSON_PROPERTY_STATEFUL, + AgentAppStep.JSON_PROPERTY_TYPE +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +@JsonIgnoreProperties( + value = "type", // ignore manually set type, it will be automatically generated by Jackson during serialization + allowSetters = true // allows the type to be set during deserialization +) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", visible = true) +@JsonSubTypes({ + @JsonSubTypes.Type(value = AgentFinalizeStep.class, name = "AgentFinalizeStep"), + @JsonSubTypes.Type(value = AgentPrepareStep.class, name = "AgentPrepareStep"), + @JsonSubTypes.Type(value = BackupVolumesRemoveStep.class, name = "BackupVolumesRemoveStep"), + @JsonSubTypes.Type(value = BackupVolumesStep.class, name = "BackupVolumesStep"), + @JsonSubTypes.Type(value = ComposeDownStep.class, name = "ComposeDownStep"), + @JsonSubTypes.Type(value = ComposeRestartStep.class, name = "ComposeRestartStep"), + @JsonSubTypes.Type(value = ComposeStartStep.class, name = "ComposeStartStep"), + @JsonSubTypes.Type(value = ComposeStep.class, name = "ComposeStep"), + @JsonSubTypes.Type(value = ComposeTypeChoiceStep.class, name = "ComposeTypeChoiceStep"), + @JsonSubTypes.Type(value = RollBackStep.class, name = "RollBackStep"), + @JsonSubTypes.Type(value = RunJobStep.class, name = "RunJobStep"), +}) + +public class AgentAppStep { + public static final String JSON_PROPERTY_ID = "id"; + @Nullable + private UUID id; + + public static final String JSON_PROPERTY_NEXT_ID = "nextId"; + @Nullable + private UUID nextId; + + public static final String JSON_PROPERTY_TITLE = "title"; + @Nullable + private String title; + + public static final String JSON_PROPERTY_TEMPLATE_ONLY = "templateOnly"; + @Nullable + private Boolean templateOnly; + + public static final String JSON_PROPERTY_CONDITION = "condition"; + @Nullable + private String condition; + + public static final String JSON_PROPERTY_STATEFUL = "stateful"; + @Nullable + private Boolean stateful; + + public static final String JSON_PROPERTY_TYPE = "type"; + @Nullable + private AgentAppStepType type; + + public AgentAppStep() { + } + + public AgentAppStep id(@Nullable UUID id) { + this.id = id; + return this; + } + + /** + * Get id + * @return id + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public UUID getId() { + return id; + } + + + @JsonProperty(value = JSON_PROPERTY_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setId(@Nullable UUID id) { + this.id = id; + } + + + public AgentAppStep nextId(@Nullable UUID nextId) { + this.nextId = nextId; + return this; + } + + /** + * Get nextId + * @return nextId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_NEXT_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public UUID getNextId() { + return nextId; + } + + + @JsonProperty(value = JSON_PROPERTY_NEXT_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setNextId(@Nullable UUID nextId) { + this.nextId = nextId; + } + + + public AgentAppStep title(@Nullable String title) { + this.title = title; + return this; + } + + /** + * Get title + * @return title + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TITLE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getTitle() { + return title; + } + + + @JsonProperty(value = JSON_PROPERTY_TITLE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setTitle(@Nullable String title) { + this.title = title; + } + + + public AgentAppStep templateOnly(@Nullable Boolean templateOnly) { + this.templateOnly = templateOnly; + return this; + } + + /** + * Get templateOnly + * @return templateOnly + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TEMPLATE_ONLY, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getTemplateOnly() { + return templateOnly; + } + + + @JsonProperty(value = JSON_PROPERTY_TEMPLATE_ONLY, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setTemplateOnly(@Nullable Boolean templateOnly) { + this.templateOnly = templateOnly; + } + + + public AgentAppStep condition(@Nullable String condition) { + this.condition = condition; + return this; + } + + /** + * Get condition + * @return condition + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_CONDITION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getCondition() { + return condition; + } + + + @JsonProperty(value = JSON_PROPERTY_CONDITION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCondition(@Nullable String condition) { + this.condition = condition; + } + + + public AgentAppStep stateful(@Nullable Boolean stateful) { + this.stateful = stateful; + return this; + } + + /** + * Get stateful + * @return stateful + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_STATEFUL, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getStateful() { + return stateful; + } + + + @JsonProperty(value = JSON_PROPERTY_STATEFUL, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setStateful(@Nullable Boolean stateful) { + this.stateful = stateful; + } + + + public AgentAppStep type(@Nullable AgentAppStepType type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TYPE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentAppStepType getType() { + return type; + } + + + @JsonProperty(value = JSON_PROPERTY_TYPE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setType(@Nullable AgentAppStepType type) { + this.type = type; + } + + + /** + * Return true if this AgentAppStep object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AgentAppStep agentAppStep = (AgentAppStep) o; + return Objects.equals(this.id, agentAppStep.id) && + Objects.equals(this.nextId, agentAppStep.nextId) && + Objects.equals(this.title, agentAppStep.title) && + Objects.equals(this.templateOnly, agentAppStep.templateOnly) && + Objects.equals(this.condition, agentAppStep.condition) && + Objects.equals(this.stateful, agentAppStep.stateful) && + Objects.equals(this.type, agentAppStep.type); + } + + @Override + public int hashCode() { + return Objects.hash(id, nextId, title, templateOnly, condition, stateful, type); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AgentAppStep {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" nextId: ").append(toIndentedString(nextId)).append("\n"); + sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append(" templateOnly: ").append(toIndentedString(templateOnly)).append("\n"); + sb.append(" condition: ").append(toIndentedString(condition)).append("\n"); + sb.append(" stateful: ").append(toIndentedString(stateful)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sid%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getId())))); + } + + // add `nextId` to the URL query string + if (getNextId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%snextId%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getNextId())))); + } + + // add `title` to the URL query string + if (getTitle() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stitle%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTitle())))); + } + + // add `templateOnly` to the URL query string + if (getTemplateOnly() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stemplateOnly%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTemplateOnly())))); + } + + // add `condition` to the URL query string + if (getCondition() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%scondition%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getCondition())))); + } + + // add `stateful` to the URL query string + if (getStateful() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sstateful%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getStateful())))); + } + + // add `type` to the URL query string + if (getType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stype%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getType())))); + } + + return joiner.toString(); + } +static { + // Initialize and register the discriminator mappings. + Map> mappings = new HashMap>(); + mappings.put("AgentFinalizeStep", AgentFinalizeStep.class); + mappings.put("AgentPrepareStep", AgentPrepareStep.class); + mappings.put("BackupVolumesRemoveStep", BackupVolumesRemoveStep.class); + mappings.put("BackupVolumesStep", BackupVolumesStep.class); + mappings.put("ComposeDownStep", ComposeDownStep.class); + mappings.put("ComposeRestartStep", ComposeRestartStep.class); + mappings.put("ComposeStartStep", ComposeStartStep.class); + mappings.put("ComposeStep", ComposeStep.class); + mappings.put("ComposeTypeChoiceStep", ComposeTypeChoiceStep.class); + mappings.put("RollBackStep", RollBackStep.class); + mappings.put("RunJobStep", RunJobStep.class); + mappings.put("AgentAppStep", AgentAppStep.class); + JSON.registerDiscriminator(AgentAppStep.class, "type", mappings); +} +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentAppStepState.java b/pe/src/main/java/org/thingsboard/client/model/AgentAppStepState.java new file mode 100644 index 00000000..cc50b194 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentAppStepState.java @@ -0,0 +1,184 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import org.thingsboard.client.model.AgentAppStepType; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.JSON; +import org.thingsboard.client.ApiClient; +/** + * AgentAppStepState + */ +@JsonPropertyOrder({ + AgentAppStepState.JSON_PROPERTY_TYPE +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +@JsonIgnoreProperties( + value = "type", // ignore manually set type, it will be automatically generated by Jackson during serialization + allowSetters = true // allows the type to be set during deserialization +) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", visible = true) +@JsonSubTypes({ + @JsonSubTypes.Type(value = BackupVolumesStepState.class, name = "BackupVolumesStepState"), + @JsonSubTypes.Type(value = ComposeDownStepState.class, name = "ComposeDownStepState"), + @JsonSubTypes.Type(value = ComposeStepState.class, name = "ComposeStepState"), + @JsonSubTypes.Type(value = RollBackStepState.class, name = "RollBackStepState"), + @JsonSubTypes.Type(value = RunJobStepState.class, name = "RunJobStepState"), +}) + +public class AgentAppStepState { + public static final String JSON_PROPERTY_TYPE = "type"; + @Nullable + private AgentAppStepType type; + + public AgentAppStepState() { + } + + public AgentAppStepState type(@Nullable AgentAppStepType type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TYPE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentAppStepType getType() { + return type; + } + + + @JsonProperty(value = JSON_PROPERTY_TYPE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setType(@Nullable AgentAppStepType type) { + this.type = type; + } + + + /** + * Return true if this AgentAppStepState object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AgentAppStepState agentAppStepState = (AgentAppStepState) o; + return Objects.equals(this.type, agentAppStepState.type); + } + + @Override + public int hashCode() { + return Objects.hash(type); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AgentAppStepState {\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `type` to the URL query string + if (getType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stype%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getType())))); + } + + return joiner.toString(); + } +static { + // Initialize and register the discriminator mappings. + Map> mappings = new HashMap>(); + mappings.put("BackupVolumesStepState", BackupVolumesStepState.class); + mappings.put("ComposeDownStepState", ComposeDownStepState.class); + mappings.put("ComposeStepState", ComposeStepState.class); + mappings.put("RollBackStepState", RollBackStepState.class); + mappings.put("RunJobStepState", RunJobStepState.class); + mappings.put("AgentAppStepState", AgentAppStepState.class); + JSON.registerDiscriminator(AgentAppStepState.class, "type", mappings); +} +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentAppStepType.java b/pe/src/main/java/org/thingsboard/client/model/AgentAppStepType.java new file mode 100644 index 00000000..8657b06b --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentAppStepType.java @@ -0,0 +1,98 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +/** + * Gets or Sets AgentAppStepType + */ +public enum AgentAppStepType { + + COMPOSE_TEMPLATE("COMPOSE_TEMPLATE"), + + COMPOSE("COMPOSE"), + + COMPOSE_START("COMPOSE_START"), + + COMPOSE_DOWN("COMPOSE_DOWN"), + + ROLLBACK("ROLLBACK"), + + BACKUP_VOLUME("BACKUP_VOLUME"), + + BACKUP_VOLUME_REMOVE("BACKUP_VOLUME_REMOVE"), + + COMPOSE_RESTART("COMPOSE_RESTART"), + + RUN_JOB("RUN_JOB"), + + AGENT_PREPARE("AGENT_PREPARE"), + + AGENT_FINALIZE("AGENT_FINALIZE"); + + private String value; + + AgentAppStepType(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static AgentAppStepType fromValue(String value) { + for (AgentAppStepType b : AgentAppStepType.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + return String.format(java.util.Locale.ROOT, "%s=%s", prefix, this.toString()); + } + +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentAppTemplate.java b/pe/src/main/java/org/thingsboard/client/model/AgentAppTemplate.java new file mode 100644 index 00000000..62b48674 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentAppTemplate.java @@ -0,0 +1,549 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.thingsboard.client.model.AgentAppConfigType; +import org.thingsboard.client.model.AgentAppTemplateStartStepsInner; +import org.thingsboard.client.model.AgentApplicationType; +import org.thingsboard.client.model.TenantId; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * AgentAppTemplate + */ +@JsonPropertyOrder({ + AgentAppTemplate.JSON_PROPERTY_TENANT_ID, + AgentAppTemplate.JSON_PROPERTY_APP_TYPE, + AgentAppTemplate.JSON_PROPERTY_CONFIG_TYPE, + AgentAppTemplate.JSON_PROPERTY_CURRENT_VERSION, + AgentAppTemplate.JSON_PROPERTY_NEXT_VERSION, + AgentAppTemplate.JSON_PROPERTY_START_STEPS, + AgentAppTemplate.JSON_PROPERTY_UPGRADE_STEPS, + AgentAppTemplate.JSON_PROPERTY_DELETE_STEPS, + AgentAppTemplate.JSON_PROPERTY_ROLLBACK_STEPS, + AgentAppTemplate.JSON_PROPERTY_RESTART_STEPS +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class AgentAppTemplate { + public static final String JSON_PROPERTY_TENANT_ID = "tenantId"; + @Nullable + private TenantId tenantId; + + public static final String JSON_PROPERTY_APP_TYPE = "appType"; + @Nonnull + private AgentApplicationType appType; + + public static final String JSON_PROPERTY_CONFIG_TYPE = "configType"; + @Nullable + private AgentAppConfigType configType; + + public static final String JSON_PROPERTY_CURRENT_VERSION = "currentVersion"; + @Nonnull + private String currentVersion; + + public static final String JSON_PROPERTY_NEXT_VERSION = "nextVersion"; + @Nullable + private String nextVersion; + + public static final String JSON_PROPERTY_START_STEPS = "startSteps"; + @Nullable + private List startSteps = new ArrayList<>(); + + public static final String JSON_PROPERTY_UPGRADE_STEPS = "upgradeSteps"; + @Nullable + private List upgradeSteps = new ArrayList<>(); + + public static final String JSON_PROPERTY_DELETE_STEPS = "deleteSteps"; + @Nullable + private List deleteSteps = new ArrayList<>(); + + public static final String JSON_PROPERTY_ROLLBACK_STEPS = "rollbackSteps"; + @Nullable + private List rollbackSteps = new ArrayList<>(); + + public static final String JSON_PROPERTY_RESTART_STEPS = "restartSteps"; + @Nullable + private List restartSteps = new ArrayList<>(); + + public AgentAppTemplate() { + } + + @JsonCreator + public AgentAppTemplate( + @JsonProperty(JSON_PROPERTY_TENANT_ID) TenantId tenantId + ) { + this(); + this.tenantId = tenantId; + } + + /** + * JSON object with Tenant Id. + * @return tenantId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TENANT_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public TenantId getTenantId() { + return tenantId; + } + + + + + public AgentAppTemplate appType(@Nonnull AgentApplicationType appType) { + this.appType = appType; + return this; + } + + /** + * Application type + * @return appType + */ + @Nonnull + @JsonProperty(value = JSON_PROPERTY_APP_TYPE, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public AgentApplicationType getAppType() { + return appType; + } + + + @JsonProperty(value = JSON_PROPERTY_APP_TYPE, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setAppType(@Nonnull AgentApplicationType appType) { + this.appType = appType; + } + + + public AgentAppTemplate configType(@Nullable AgentAppConfigType configType) { + this.configType = configType; + return this; + } + + /** + * Config type (e.g. 'DOCKER_COMPOSE'); the compose body lives in the template's compose-template step, not here + * @return configType + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_CONFIG_TYPE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentAppConfigType getConfigType() { + return configType; + } + + + @JsonProperty(value = JSON_PROPERTY_CONFIG_TYPE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setConfigType(@Nullable AgentAppConfigType configType) { + this.configType = configType; + } + + + public AgentAppTemplate currentVersion(@Nonnull String currentVersion) { + this.currentVersion = currentVersion; + return this; + } + + /** + * Current template version + * @return currentVersion + */ + @Nonnull + @JsonProperty(value = JSON_PROPERTY_CURRENT_VERSION, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getCurrentVersion() { + return currentVersion; + } + + + @JsonProperty(value = JSON_PROPERTY_CURRENT_VERSION, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setCurrentVersion(@Nonnull String currentVersion) { + this.currentVersion = currentVersion; + } + + + public AgentAppTemplate nextVersion(@Nullable String nextVersion) { + this.nextVersion = nextVersion; + return this; + } + + /** + * Next template version + * @return nextVersion + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_NEXT_VERSION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getNextVersion() { + return nextVersion; + } + + + @JsonProperty(value = JSON_PROPERTY_NEXT_VERSION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setNextVersion(@Nullable String nextVersion) { + this.nextVersion = nextVersion; + } + + + public AgentAppTemplate startSteps(@Nullable List startSteps) { + this.startSteps = startSteps; + return this; + } + + public AgentAppTemplate addStartStepsItem(AgentAppTemplateStartStepsInner startStepsItem) { + if (this.startSteps == null) { + this.startSteps = new ArrayList<>(); + } + this.startSteps.add(startStepsItem); + return this; + } + + /** + * Start steps + * @return startSteps + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_START_STEPS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getStartSteps() { + return startSteps; + } + + + @JsonProperty(value = JSON_PROPERTY_START_STEPS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setStartSteps(@Nullable List startSteps) { + this.startSteps = startSteps; + } + + + public AgentAppTemplate upgradeSteps(@Nullable List upgradeSteps) { + this.upgradeSteps = upgradeSteps; + return this; + } + + public AgentAppTemplate addUpgradeStepsItem(AgentAppTemplateStartStepsInner upgradeStepsItem) { + if (this.upgradeSteps == null) { + this.upgradeSteps = new ArrayList<>(); + } + this.upgradeSteps.add(upgradeStepsItem); + return this; + } + + /** + * Upgrade steps + * @return upgradeSteps + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_UPGRADE_STEPS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getUpgradeSteps() { + return upgradeSteps; + } + + + @JsonProperty(value = JSON_PROPERTY_UPGRADE_STEPS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setUpgradeSteps(@Nullable List upgradeSteps) { + this.upgradeSteps = upgradeSteps; + } + + + public AgentAppTemplate deleteSteps(@Nullable List deleteSteps) { + this.deleteSteps = deleteSteps; + return this; + } + + public AgentAppTemplate addDeleteStepsItem(AgentAppTemplateStartStepsInner deleteStepsItem) { + if (this.deleteSteps == null) { + this.deleteSteps = new ArrayList<>(); + } + this.deleteSteps.add(deleteStepsItem); + return this; + } + + /** + * Delete steps + * @return deleteSteps + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_DELETE_STEPS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getDeleteSteps() { + return deleteSteps; + } + + + @JsonProperty(value = JSON_PROPERTY_DELETE_STEPS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setDeleteSteps(@Nullable List deleteSteps) { + this.deleteSteps = deleteSteps; + } + + + public AgentAppTemplate rollbackSteps(@Nullable List rollbackSteps) { + this.rollbackSteps = rollbackSteps; + return this; + } + + public AgentAppTemplate addRollbackStepsItem(AgentAppTemplateStartStepsInner rollbackStepsItem) { + if (this.rollbackSteps == null) { + this.rollbackSteps = new ArrayList<>(); + } + this.rollbackSteps.add(rollbackStepsItem); + return this; + } + + /** + * Rollback steps + * @return rollbackSteps + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_ROLLBACK_STEPS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getRollbackSteps() { + return rollbackSteps; + } + + + @JsonProperty(value = JSON_PROPERTY_ROLLBACK_STEPS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setRollbackSteps(@Nullable List rollbackSteps) { + this.rollbackSteps = rollbackSteps; + } + + + public AgentAppTemplate restartSteps(@Nullable List restartSteps) { + this.restartSteps = restartSteps; + return this; + } + + public AgentAppTemplate addRestartStepsItem(AgentAppTemplateStartStepsInner restartStepsItem) { + if (this.restartSteps == null) { + this.restartSteps = new ArrayList<>(); + } + this.restartSteps.add(restartStepsItem); + return this; + } + + /** + * Restart steps + * @return restartSteps + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_RESTART_STEPS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getRestartSteps() { + return restartSteps; + } + + + @JsonProperty(value = JSON_PROPERTY_RESTART_STEPS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setRestartSteps(@Nullable List restartSteps) { + this.restartSteps = restartSteps; + } + + + /** + * Return true if this AgentAppTemplate object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AgentAppTemplate agentAppTemplate = (AgentAppTemplate) o; + return Objects.equals(this.tenantId, agentAppTemplate.tenantId) && + Objects.equals(this.appType, agentAppTemplate.appType) && + Objects.equals(this.configType, agentAppTemplate.configType) && + Objects.equals(this.currentVersion, agentAppTemplate.currentVersion) && + Objects.equals(this.nextVersion, agentAppTemplate.nextVersion) && + Objects.equals(this.startSteps, agentAppTemplate.startSteps) && + Objects.equals(this.upgradeSteps, agentAppTemplate.upgradeSteps) && + Objects.equals(this.deleteSteps, agentAppTemplate.deleteSteps) && + Objects.equals(this.rollbackSteps, agentAppTemplate.rollbackSteps) && + Objects.equals(this.restartSteps, agentAppTemplate.restartSteps); + } + + @Override + public int hashCode() { + return Objects.hash(tenantId, appType, configType, currentVersion, nextVersion, startSteps, upgradeSteps, deleteSteps, rollbackSteps, restartSteps); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AgentAppTemplate {\n"); + sb.append(" tenantId: ").append(toIndentedString(tenantId)).append("\n"); + sb.append(" appType: ").append(toIndentedString(appType)).append("\n"); + sb.append(" configType: ").append(toIndentedString(configType)).append("\n"); + sb.append(" currentVersion: ").append(toIndentedString(currentVersion)).append("\n"); + sb.append(" nextVersion: ").append(toIndentedString(nextVersion)).append("\n"); + sb.append(" startSteps: ").append(toIndentedString(startSteps)).append("\n"); + sb.append(" upgradeSteps: ").append(toIndentedString(upgradeSteps)).append("\n"); + sb.append(" deleteSteps: ").append(toIndentedString(deleteSteps)).append("\n"); + sb.append(" rollbackSteps: ").append(toIndentedString(rollbackSteps)).append("\n"); + sb.append(" restartSteps: ").append(toIndentedString(restartSteps)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `tenantId` to the URL query string + if (getTenantId() != null) { + joiner.add(getTenantId().toUrlQueryString(prefix + "tenantId" + suffix)); + } + + // add `appType` to the URL query string + if (getAppType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sappType%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getAppType())))); + } + + // add `configType` to the URL query string + if (getConfigType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sconfigType%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getConfigType())))); + } + + // add `currentVersion` to the URL query string + if (getCurrentVersion() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%scurrentVersion%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getCurrentVersion())))); + } + + // add `nextVersion` to the URL query string + if (getNextVersion() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%snextVersion%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getNextVersion())))); + } + + // add `startSteps` to the URL query string + if (getStartSteps() != null) { + for (int i = 0; i < getStartSteps().size(); i++) { + if (getStartSteps().get(i) != null) { + joiner.add(getStartSteps().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%sstartSteps%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); + } + } + } + + // add `upgradeSteps` to the URL query string + if (getUpgradeSteps() != null) { + for (int i = 0; i < getUpgradeSteps().size(); i++) { + if (getUpgradeSteps().get(i) != null) { + joiner.add(getUpgradeSteps().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%supgradeSteps%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); + } + } + } + + // add `deleteSteps` to the URL query string + if (getDeleteSteps() != null) { + for (int i = 0; i < getDeleteSteps().size(); i++) { + if (getDeleteSteps().get(i) != null) { + joiner.add(getDeleteSteps().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%sdeleteSteps%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); + } + } + } + + // add `rollbackSteps` to the URL query string + if (getRollbackSteps() != null) { + for (int i = 0; i < getRollbackSteps().size(); i++) { + if (getRollbackSteps().get(i) != null) { + joiner.add(getRollbackSteps().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%srollbackSteps%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); + } + } + } + + // add `restartSteps` to the URL query string + if (getRestartSteps() != null) { + for (int i = 0; i < getRestartSteps().size(); i++) { + if (getRestartSteps().get(i) != null) { + joiner.add(getRestartSteps().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%srestartSteps%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); + } + } + } + + return joiner.toString(); + } +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentAppTemplateStartStepsInner.java b/pe/src/main/java/org/thingsboard/client/model/AgentAppTemplateStartStepsInner.java new file mode 100644 index 00000000..07044512 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentAppTemplateStartStepsInner.java @@ -0,0 +1,800 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; +import org.thingsboard.client.model.AgentAppStepType; +import org.thingsboard.client.model.AgentFinalizeStep; +import org.thingsboard.client.model.AgentPrepareStep; +import org.thingsboard.client.model.BackupVolumesRemoveStep; +import org.thingsboard.client.model.BackupVolumesStep; +import org.thingsboard.client.model.ComposeDownStep; +import org.thingsboard.client.model.ComposeRestartStep; +import org.thingsboard.client.model.ComposeStartStep; +import org.thingsboard.client.model.ComposeStep; +import org.thingsboard.client.model.ComposeTypeChoiceStep; +import org.thingsboard.client.model.RollBackStep; +import org.thingsboard.client.model.RunJobStep; +import org.thingsboard.client.model.RunJobStepState; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + +import com.fasterxml.jackson.core.type.TypeReference; + +import java.io.IOException; +import java.util.logging.Level; +import java.util.logging.Logger; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashSet; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.JsonToken; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.MapperFeature; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import org.thingsboard.client.ApiClient; +import org.thingsboard.client.JSON; + +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +@JsonDeserialize(using = AgentAppTemplateStartStepsInner.AgentAppTemplateStartStepsInnerDeserializer.class) +@JsonSerialize(using = AgentAppTemplateStartStepsInner.AgentAppTemplateStartStepsInnerSerializer.class) +public class AgentAppTemplateStartStepsInner extends AbstractOpenApiSchema { + private static final Logger log = Logger.getLogger(AgentAppTemplateStartStepsInner.class.getName()); + + public static class AgentAppTemplateStartStepsInnerSerializer extends StdSerializer { + public AgentAppTemplateStartStepsInnerSerializer(Class t) { + super(t); + } + + public AgentAppTemplateStartStepsInnerSerializer() { + this(null); + } + + @Override + public void serialize(AgentAppTemplateStartStepsInner value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { + jgen.writeObject(value.getActualInstance()); + } + } + + public static class AgentAppTemplateStartStepsInnerDeserializer extends StdDeserializer { + public AgentAppTemplateStartStepsInnerDeserializer() { + this(AgentAppTemplateStartStepsInner.class); + } + + public AgentAppTemplateStartStepsInnerDeserializer(Class vc) { + super(vc); + } + + @Override + public AgentAppTemplateStartStepsInner deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { + JsonNode tree = jp.readValueAsTree(); + Object deserialized = null; + boolean typeCoercion = ctxt.isEnabled(MapperFeature.ALLOW_COERCION_OF_SCALARS); + int match = 0; + JsonToken token = tree.traverse(jp.getCodec()).nextToken(); + // deserialize AgentFinalizeStep + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (AgentFinalizeStep.class.equals(Integer.class) || AgentFinalizeStep.class.equals(Long.class) || AgentFinalizeStep.class.equals(Float.class) || AgentFinalizeStep.class.equals(Double.class) || AgentFinalizeStep.class.equals(Boolean.class) || AgentFinalizeStep.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((AgentFinalizeStep.class.equals(Integer.class) || AgentFinalizeStep.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((AgentFinalizeStep.class.equals(Float.class) || AgentFinalizeStep.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (AgentFinalizeStep.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (AgentFinalizeStep.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(AgentFinalizeStep.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'AgentFinalizeStep'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'AgentFinalizeStep'", e); + } + + // deserialize AgentPrepareStep + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (AgentPrepareStep.class.equals(Integer.class) || AgentPrepareStep.class.equals(Long.class) || AgentPrepareStep.class.equals(Float.class) || AgentPrepareStep.class.equals(Double.class) || AgentPrepareStep.class.equals(Boolean.class) || AgentPrepareStep.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((AgentPrepareStep.class.equals(Integer.class) || AgentPrepareStep.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((AgentPrepareStep.class.equals(Float.class) || AgentPrepareStep.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (AgentPrepareStep.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (AgentPrepareStep.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(AgentPrepareStep.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'AgentPrepareStep'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'AgentPrepareStep'", e); + } + + // deserialize BackupVolumesRemoveStep + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (BackupVolumesRemoveStep.class.equals(Integer.class) || BackupVolumesRemoveStep.class.equals(Long.class) || BackupVolumesRemoveStep.class.equals(Float.class) || BackupVolumesRemoveStep.class.equals(Double.class) || BackupVolumesRemoveStep.class.equals(Boolean.class) || BackupVolumesRemoveStep.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((BackupVolumesRemoveStep.class.equals(Integer.class) || BackupVolumesRemoveStep.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((BackupVolumesRemoveStep.class.equals(Float.class) || BackupVolumesRemoveStep.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (BackupVolumesRemoveStep.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (BackupVolumesRemoveStep.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(BackupVolumesRemoveStep.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'BackupVolumesRemoveStep'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'BackupVolumesRemoveStep'", e); + } + + // deserialize BackupVolumesStep + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (BackupVolumesStep.class.equals(Integer.class) || BackupVolumesStep.class.equals(Long.class) || BackupVolumesStep.class.equals(Float.class) || BackupVolumesStep.class.equals(Double.class) || BackupVolumesStep.class.equals(Boolean.class) || BackupVolumesStep.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((BackupVolumesStep.class.equals(Integer.class) || BackupVolumesStep.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((BackupVolumesStep.class.equals(Float.class) || BackupVolumesStep.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (BackupVolumesStep.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (BackupVolumesStep.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(BackupVolumesStep.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'BackupVolumesStep'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'BackupVolumesStep'", e); + } + + // deserialize ComposeDownStep + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (ComposeDownStep.class.equals(Integer.class) || ComposeDownStep.class.equals(Long.class) || ComposeDownStep.class.equals(Float.class) || ComposeDownStep.class.equals(Double.class) || ComposeDownStep.class.equals(Boolean.class) || ComposeDownStep.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((ComposeDownStep.class.equals(Integer.class) || ComposeDownStep.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((ComposeDownStep.class.equals(Float.class) || ComposeDownStep.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (ComposeDownStep.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (ComposeDownStep.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(ComposeDownStep.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'ComposeDownStep'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'ComposeDownStep'", e); + } + + // deserialize ComposeRestartStep + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (ComposeRestartStep.class.equals(Integer.class) || ComposeRestartStep.class.equals(Long.class) || ComposeRestartStep.class.equals(Float.class) || ComposeRestartStep.class.equals(Double.class) || ComposeRestartStep.class.equals(Boolean.class) || ComposeRestartStep.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((ComposeRestartStep.class.equals(Integer.class) || ComposeRestartStep.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((ComposeRestartStep.class.equals(Float.class) || ComposeRestartStep.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (ComposeRestartStep.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (ComposeRestartStep.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(ComposeRestartStep.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'ComposeRestartStep'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'ComposeRestartStep'", e); + } + + // deserialize ComposeStartStep + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (ComposeStartStep.class.equals(Integer.class) || ComposeStartStep.class.equals(Long.class) || ComposeStartStep.class.equals(Float.class) || ComposeStartStep.class.equals(Double.class) || ComposeStartStep.class.equals(Boolean.class) || ComposeStartStep.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((ComposeStartStep.class.equals(Integer.class) || ComposeStartStep.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((ComposeStartStep.class.equals(Float.class) || ComposeStartStep.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (ComposeStartStep.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (ComposeStartStep.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(ComposeStartStep.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'ComposeStartStep'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'ComposeStartStep'", e); + } + + // deserialize ComposeStep + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (ComposeStep.class.equals(Integer.class) || ComposeStep.class.equals(Long.class) || ComposeStep.class.equals(Float.class) || ComposeStep.class.equals(Double.class) || ComposeStep.class.equals(Boolean.class) || ComposeStep.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((ComposeStep.class.equals(Integer.class) || ComposeStep.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((ComposeStep.class.equals(Float.class) || ComposeStep.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (ComposeStep.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (ComposeStep.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(ComposeStep.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'ComposeStep'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'ComposeStep'", e); + } + + // deserialize ComposeTypeChoiceStep + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (ComposeTypeChoiceStep.class.equals(Integer.class) || ComposeTypeChoiceStep.class.equals(Long.class) || ComposeTypeChoiceStep.class.equals(Float.class) || ComposeTypeChoiceStep.class.equals(Double.class) || ComposeTypeChoiceStep.class.equals(Boolean.class) || ComposeTypeChoiceStep.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((ComposeTypeChoiceStep.class.equals(Integer.class) || ComposeTypeChoiceStep.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((ComposeTypeChoiceStep.class.equals(Float.class) || ComposeTypeChoiceStep.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (ComposeTypeChoiceStep.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (ComposeTypeChoiceStep.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(ComposeTypeChoiceStep.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'ComposeTypeChoiceStep'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'ComposeTypeChoiceStep'", e); + } + + // deserialize RollBackStep + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (RollBackStep.class.equals(Integer.class) || RollBackStep.class.equals(Long.class) || RollBackStep.class.equals(Float.class) || RollBackStep.class.equals(Double.class) || RollBackStep.class.equals(Boolean.class) || RollBackStep.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((RollBackStep.class.equals(Integer.class) || RollBackStep.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((RollBackStep.class.equals(Float.class) || RollBackStep.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (RollBackStep.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (RollBackStep.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(RollBackStep.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'RollBackStep'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'RollBackStep'", e); + } + + // deserialize RunJobStep + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (RunJobStep.class.equals(Integer.class) || RunJobStep.class.equals(Long.class) || RunJobStep.class.equals(Float.class) || RunJobStep.class.equals(Double.class) || RunJobStep.class.equals(Boolean.class) || RunJobStep.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((RunJobStep.class.equals(Integer.class) || RunJobStep.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((RunJobStep.class.equals(Float.class) || RunJobStep.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (RunJobStep.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (RunJobStep.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(RunJobStep.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'RunJobStep'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'RunJobStep'", e); + } + + if (match == 1) { + AgentAppTemplateStartStepsInner ret = new AgentAppTemplateStartStepsInner(); + ret.setActualInstance(deserialized); + return ret; + } + throw new IOException(String.format(java.util.Locale.ROOT, "Failed deserialization for AgentAppTemplateStartStepsInner: %d classes match result, expected 1", match)); + } + + /** + * Handle deserialization of the 'null' value. + */ + @Override + public AgentAppTemplateStartStepsInner getNullValue(DeserializationContext ctxt) throws JsonMappingException { + throw new JsonMappingException(ctxt.getParser(), "AgentAppTemplateStartStepsInner cannot be null"); + } + } + + // store a list of schema names defined in oneOf + public static final Map> schemas = new HashMap<>(); + + public AgentAppTemplateStartStepsInner() { + super("oneOf", Boolean.FALSE); + } + + public AgentAppTemplateStartStepsInner(AgentFinalizeStep o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public AgentAppTemplateStartStepsInner(AgentPrepareStep o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public AgentAppTemplateStartStepsInner(BackupVolumesRemoveStep o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public AgentAppTemplateStartStepsInner(BackupVolumesStep o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public AgentAppTemplateStartStepsInner(ComposeDownStep o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public AgentAppTemplateStartStepsInner(ComposeRestartStep o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public AgentAppTemplateStartStepsInner(ComposeStartStep o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public AgentAppTemplateStartStepsInner(ComposeStep o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public AgentAppTemplateStartStepsInner(ComposeTypeChoiceStep o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public AgentAppTemplateStartStepsInner(RollBackStep o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public AgentAppTemplateStartStepsInner(RunJobStep o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + static { + schemas.put("AgentFinalizeStep", AgentFinalizeStep.class); + schemas.put("AgentPrepareStep", AgentPrepareStep.class); + schemas.put("BackupVolumesRemoveStep", BackupVolumesRemoveStep.class); + schemas.put("BackupVolumesStep", BackupVolumesStep.class); + schemas.put("ComposeDownStep", ComposeDownStep.class); + schemas.put("ComposeRestartStep", ComposeRestartStep.class); + schemas.put("ComposeStartStep", ComposeStartStep.class); + schemas.put("ComposeStep", ComposeStep.class); + schemas.put("ComposeTypeChoiceStep", ComposeTypeChoiceStep.class); + schemas.put("RollBackStep", RollBackStep.class); + schemas.put("RunJobStep", RunJobStep.class); + JSON.registerDescendants(AgentAppTemplateStartStepsInner.class, Collections.unmodifiableMap(schemas)); + } + + @Override + public Map> getSchemas() { + return AgentAppTemplateStartStepsInner.schemas; + } + + /** + * Set the instance that matches the oneOf child schema, check + * the instance parameter is valid against the oneOf child schemas: + * AgentFinalizeStep, AgentPrepareStep, BackupVolumesRemoveStep, BackupVolumesStep, ComposeDownStep, ComposeRestartStep, ComposeStartStep, ComposeStep, ComposeTypeChoiceStep, RollBackStep, RunJobStep + * + * It could be an instance of the 'oneOf' schemas. + * The oneOf child schemas may themselves be a composed schema (allOf, anyOf, oneOf). + */ + @Override + public void setActualInstance(Object instance) { + if (JSON.isInstanceOf(AgentFinalizeStep.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(AgentPrepareStep.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(BackupVolumesRemoveStep.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(BackupVolumesStep.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(ComposeDownStep.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(ComposeRestartStep.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(ComposeStartStep.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(ComposeStep.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(ComposeTypeChoiceStep.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(RollBackStep.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(RunJobStep.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + throw new RuntimeException("Invalid instance type. Must be AgentFinalizeStep, AgentPrepareStep, BackupVolumesRemoveStep, BackupVolumesStep, ComposeDownStep, ComposeRestartStep, ComposeStartStep, ComposeStep, ComposeTypeChoiceStep, RollBackStep, RunJobStep"); + } + + /** + * Get the actual instance, which can be the following: + * AgentFinalizeStep, AgentPrepareStep, BackupVolumesRemoveStep, BackupVolumesStep, ComposeDownStep, ComposeRestartStep, ComposeStartStep, ComposeStep, ComposeTypeChoiceStep, RollBackStep, RunJobStep + * + * @return The actual instance (AgentFinalizeStep, AgentPrepareStep, BackupVolumesRemoveStep, BackupVolumesStep, ComposeDownStep, ComposeRestartStep, ComposeStartStep, ComposeStep, ComposeTypeChoiceStep, RollBackStep, RunJobStep) + */ + @Override + public Object getActualInstance() { + return super.getActualInstance(); + } + + /** + * Get the actual instance of `AgentFinalizeStep`. If the actual instance is not `AgentFinalizeStep`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `AgentFinalizeStep` + * @throws ClassCastException if the instance is not `AgentFinalizeStep` + */ + public AgentFinalizeStep getAgentFinalizeStep() throws ClassCastException { + return (AgentFinalizeStep)super.getActualInstance(); + } + + /** + * Get the actual instance of `AgentPrepareStep`. If the actual instance is not `AgentPrepareStep`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `AgentPrepareStep` + * @throws ClassCastException if the instance is not `AgentPrepareStep` + */ + public AgentPrepareStep getAgentPrepareStep() throws ClassCastException { + return (AgentPrepareStep)super.getActualInstance(); + } + + /** + * Get the actual instance of `BackupVolumesRemoveStep`. If the actual instance is not `BackupVolumesRemoveStep`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `BackupVolumesRemoveStep` + * @throws ClassCastException if the instance is not `BackupVolumesRemoveStep` + */ + public BackupVolumesRemoveStep getBackupVolumesRemoveStep() throws ClassCastException { + return (BackupVolumesRemoveStep)super.getActualInstance(); + } + + /** + * Get the actual instance of `BackupVolumesStep`. If the actual instance is not `BackupVolumesStep`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `BackupVolumesStep` + * @throws ClassCastException if the instance is not `BackupVolumesStep` + */ + public BackupVolumesStep getBackupVolumesStep() throws ClassCastException { + return (BackupVolumesStep)super.getActualInstance(); + } + + /** + * Get the actual instance of `ComposeDownStep`. If the actual instance is not `ComposeDownStep`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `ComposeDownStep` + * @throws ClassCastException if the instance is not `ComposeDownStep` + */ + public ComposeDownStep getComposeDownStep() throws ClassCastException { + return (ComposeDownStep)super.getActualInstance(); + } + + /** + * Get the actual instance of `ComposeRestartStep`. If the actual instance is not `ComposeRestartStep`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `ComposeRestartStep` + * @throws ClassCastException if the instance is not `ComposeRestartStep` + */ + public ComposeRestartStep getComposeRestartStep() throws ClassCastException { + return (ComposeRestartStep)super.getActualInstance(); + } + + /** + * Get the actual instance of `ComposeStartStep`. If the actual instance is not `ComposeStartStep`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `ComposeStartStep` + * @throws ClassCastException if the instance is not `ComposeStartStep` + */ + public ComposeStartStep getComposeStartStep() throws ClassCastException { + return (ComposeStartStep)super.getActualInstance(); + } + + /** + * Get the actual instance of `ComposeStep`. If the actual instance is not `ComposeStep`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `ComposeStep` + * @throws ClassCastException if the instance is not `ComposeStep` + */ + public ComposeStep getComposeStep() throws ClassCastException { + return (ComposeStep)super.getActualInstance(); + } + + /** + * Get the actual instance of `ComposeTypeChoiceStep`. If the actual instance is not `ComposeTypeChoiceStep`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `ComposeTypeChoiceStep` + * @throws ClassCastException if the instance is not `ComposeTypeChoiceStep` + */ + public ComposeTypeChoiceStep getComposeTypeChoiceStep() throws ClassCastException { + return (ComposeTypeChoiceStep)super.getActualInstance(); + } + + /** + * Get the actual instance of `RollBackStep`. If the actual instance is not `RollBackStep`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `RollBackStep` + * @throws ClassCastException if the instance is not `RollBackStep` + */ + public RollBackStep getRollBackStep() throws ClassCastException { + return (RollBackStep)super.getActualInstance(); + } + + /** + * Get the actual instance of `RunJobStep`. If the actual instance is not `RunJobStep`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `RunJobStep` + * @throws ClassCastException if the instance is not `RunJobStep` + */ + public RunJobStep getRunJobStep() throws ClassCastException { + return (RunJobStep)super.getActualInstance(); + } + + + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + if (getActualInstance() instanceof AgentFinalizeStep) { + if (getActualInstance() != null) { + joiner.add(((AgentFinalizeStep)getActualInstance()).toUrlQueryString(prefix + "one_of_0" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof AgentPrepareStep) { + if (getActualInstance() != null) { + joiner.add(((AgentPrepareStep)getActualInstance()).toUrlQueryString(prefix + "one_of_1" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof BackupVolumesRemoveStep) { + if (getActualInstance() != null) { + joiner.add(((BackupVolumesRemoveStep)getActualInstance()).toUrlQueryString(prefix + "one_of_2" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof BackupVolumesStep) { + if (getActualInstance() != null) { + joiner.add(((BackupVolumesStep)getActualInstance()).toUrlQueryString(prefix + "one_of_3" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof ComposeDownStep) { + if (getActualInstance() != null) { + joiner.add(((ComposeDownStep)getActualInstance()).toUrlQueryString(prefix + "one_of_4" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof ComposeRestartStep) { + if (getActualInstance() != null) { + joiner.add(((ComposeRestartStep)getActualInstance()).toUrlQueryString(prefix + "one_of_5" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof ComposeStartStep) { + if (getActualInstance() != null) { + joiner.add(((ComposeStartStep)getActualInstance()).toUrlQueryString(prefix + "one_of_6" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof ComposeStep) { + if (getActualInstance() != null) { + joiner.add(((ComposeStep)getActualInstance()).toUrlQueryString(prefix + "one_of_7" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof ComposeTypeChoiceStep) { + if (getActualInstance() != null) { + joiner.add(((ComposeTypeChoiceStep)getActualInstance()).toUrlQueryString(prefix + "one_of_8" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof RollBackStep) { + if (getActualInstance() != null) { + joiner.add(((RollBackStep)getActualInstance()).toUrlQueryString(prefix + "one_of_9" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof RunJobStep) { + if (getActualInstance() != null) { + joiner.add(((RunJobStep)getActualInstance()).toUrlQueryString(prefix + "one_of_10" + suffix)); + } + return joiner.toString(); + } + return null; + } + +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentAppUnit.java b/pe/src/main/java/org/thingsboard/client/model/AgentAppUnit.java new file mode 100644 index 00000000..3013ffa5 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentAppUnit.java @@ -0,0 +1,338 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import org.thingsboard.client.model.AgentAppUnitId; +import org.thingsboard.client.model.AgentAppUnitType; +import org.thingsboard.client.model.AgentApplicationId; +import org.thingsboard.client.model.TenantId; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * AgentAppUnit + */ +@JsonPropertyOrder({ + AgentAppUnit.JSON_PROPERTY_ID, + AgentAppUnit.JSON_PROPERTY_CREATED_TIME, + AgentAppUnit.JSON_PROPERTY_TENANT_ID, + AgentAppUnit.JSON_PROPERTY_AGENT_APPLICATION_ID, + AgentAppUnit.JSON_PROPERTY_IDENTIFIER, + AgentAppUnit.JSON_PROPERTY_TYPE +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class AgentAppUnit { + public static final String JSON_PROPERTY_ID = "id"; + @Nullable + private AgentAppUnitId id; + + public static final String JSON_PROPERTY_CREATED_TIME = "createdTime"; + @Nullable + private Long createdTime; + + public static final String JSON_PROPERTY_TENANT_ID = "tenantId"; + @Nonnull + private TenantId tenantId; + + public static final String JSON_PROPERTY_AGENT_APPLICATION_ID = "agentApplicationId"; + @Nonnull + private AgentApplicationId agentApplicationId; + + public static final String JSON_PROPERTY_IDENTIFIER = "identifier"; + @Nonnull + private String identifier; + + public static final String JSON_PROPERTY_TYPE = "type"; + @Nonnull + private AgentAppUnitType type; + + public AgentAppUnit() { + } + + @JsonCreator + public AgentAppUnit( + @JsonProperty(JSON_PROPERTY_CREATED_TIME) Long createdTime + ) { + this(); + this.createdTime = createdTime; + } + + public AgentAppUnit id(@Nullable AgentAppUnitId id) { + this.id = id; + return this; + } + + /** + * JSON object with the Agent App Unit Id. + * @return id + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentAppUnitId getId() { + return id; + } + + + @JsonProperty(value = JSON_PROPERTY_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setId(@Nullable AgentAppUnitId id) { + this.id = id; + } + + + /** + * Timestamp of the agent app unit creation, in milliseconds + * @return createdTime + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_CREATED_TIME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getCreatedTime() { + return createdTime; + } + + + + + public AgentAppUnit tenantId(@Nonnull TenantId tenantId) { + this.tenantId = tenantId; + return this; + } + + /** + * Tenant this unit belongs to + * @return tenantId + */ + @Nonnull + @JsonProperty(value = JSON_PROPERTY_TENANT_ID, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public TenantId getTenantId() { + return tenantId; + } + + + @JsonProperty(value = JSON_PROPERTY_TENANT_ID, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setTenantId(@Nonnull TenantId tenantId) { + this.tenantId = tenantId; + } + + + public AgentAppUnit agentApplicationId(@Nonnull AgentApplicationId agentApplicationId) { + this.agentApplicationId = agentApplicationId; + return this; + } + + /** + * Agent application this unit belongs to + * @return agentApplicationId + */ + @Nonnull + @JsonProperty(value = JSON_PROPERTY_AGENT_APPLICATION_ID, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public AgentApplicationId getAgentApplicationId() { + return agentApplicationId; + } + + + @JsonProperty(value = JSON_PROPERTY_AGENT_APPLICATION_ID, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setAgentApplicationId(@Nonnull AgentApplicationId agentApplicationId) { + this.agentApplicationId = agentApplicationId; + } + + + public AgentAppUnit identifier(@Nonnull String identifier) { + this.identifier = identifier; + return this; + } + + /** + * Unit identifier + * @return identifier + */ + @Nonnull + @JsonProperty(value = JSON_PROPERTY_IDENTIFIER, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getIdentifier() { + return identifier; + } + + + @JsonProperty(value = JSON_PROPERTY_IDENTIFIER, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setIdentifier(@Nonnull String identifier) { + this.identifier = identifier; + } + + + public AgentAppUnit type(@Nonnull AgentAppUnitType type) { + this.type = type; + return this; + } + + /** + * Unit type + * @return type + */ + @Nonnull + @JsonProperty(value = JSON_PROPERTY_TYPE, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public AgentAppUnitType getType() { + return type; + } + + + @JsonProperty(value = JSON_PROPERTY_TYPE, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setType(@Nonnull AgentAppUnitType type) { + this.type = type; + } + + + /** + * Return true if this AgentAppUnit object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AgentAppUnit agentAppUnit = (AgentAppUnit) o; + return Objects.equals(this.id, agentAppUnit.id) && + Objects.equals(this.createdTime, agentAppUnit.createdTime) && + Objects.equals(this.tenantId, agentAppUnit.tenantId) && + Objects.equals(this.agentApplicationId, agentAppUnit.agentApplicationId) && + Objects.equals(this.identifier, agentAppUnit.identifier) && + Objects.equals(this.type, agentAppUnit.type); + } + + @Override + public int hashCode() { + return Objects.hash(id, createdTime, tenantId, agentApplicationId, identifier, type); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AgentAppUnit {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" createdTime: ").append(toIndentedString(createdTime)).append("\n"); + sb.append(" tenantId: ").append(toIndentedString(tenantId)).append("\n"); + sb.append(" agentApplicationId: ").append(toIndentedString(agentApplicationId)).append("\n"); + sb.append(" identifier: ").append(toIndentedString(identifier)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(getId().toUrlQueryString(prefix + "id" + suffix)); + } + + // add `createdTime` to the URL query string + if (getCreatedTime() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%screatedTime%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getCreatedTime())))); + } + + // add `tenantId` to the URL query string + if (getTenantId() != null) { + joiner.add(getTenantId().toUrlQueryString(prefix + "tenantId" + suffix)); + } + + // add `agentApplicationId` to the URL query string + if (getAgentApplicationId() != null) { + joiner.add(getAgentApplicationId().toUrlQueryString(prefix + "agentApplicationId" + suffix)); + } + + // add `identifier` to the URL query string + if (getIdentifier() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sidentifier%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getIdentifier())))); + } + + // add `type` to the URL query string + if (getType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stype%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getType())))); + } + + return joiner.toString(); + } +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentAppUnitId.java b/pe/src/main/java/org/thingsboard/client/model/AgentAppUnitId.java new file mode 100644 index 00000000..a5ad6f65 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentAppUnitId.java @@ -0,0 +1,155 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nonnull; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import java.util.UUID; +import org.thingsboard.client.model.EntityId; +import org.thingsboard.client.model.EntityType; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.JSON; +import org.thingsboard.client.ApiClient; +/** + * AgentAppUnitId + */ +@JsonPropertyOrder({ +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +@JsonIgnoreProperties( + value = "entityType", // ignore manually set entityType, it will be automatically generated by Jackson during serialization + allowSetters = true // allows the entityType to be set during deserialization +) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "entityType", visible = true) + +public class AgentAppUnitId extends EntityId { + public AgentAppUnitId() { + } + + @Override + public AgentAppUnitId id(@Nonnull UUID id) { + this.setId(id); + return this; + } + + /** + * Return true if this AgentAppUnitId object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + return super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AgentAppUnitId {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `entityType` to the URL query string + if (getEntityType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sentityType%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getEntityType())))); + } + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sid%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getId())))); + } + + return joiner.toString(); + } +static { + // Initialize and register the discriminator mappings. + Map> mappings = new HashMap>(); + mappings.put("AgentAppUnitId", AgentAppUnitId.class); + JSON.registerDiscriminator(AgentAppUnitId.class, "entityType", mappings); +} +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentAppUnitType.java b/pe/src/main/java/org/thingsboard/client/model/AgentAppUnitType.java new file mode 100644 index 00000000..f3924325 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentAppUnitType.java @@ -0,0 +1,82 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +/** + * Gets or Sets AgentAppUnitType + */ +public enum AgentAppUnitType { + + CONTAINER("CONTAINER"), + + VOLUME("VOLUME"), + + NETWORK("NETWORK"); + + private String value; + + AgentAppUnitType(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static AgentAppUnitType fromValue(String value) { + for (AgentAppUnitType b : AgentAppUnitType.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + return String.format(java.util.Locale.ROOT, "%s=%s", prefix, this.toString()); + } + +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentApplication.java b/pe/src/main/java/org/thingsboard/client/model/AgentApplication.java new file mode 100644 index 00000000..ffa8bab4 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentApplication.java @@ -0,0 +1,657 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import org.thingsboard.client.model.AgentAppProfileId; +import org.thingsboard.client.model.AgentApplicationId; +import org.thingsboard.client.model.AgentApplicationOrigin; +import org.thingsboard.client.model.AgentApplicationType; +import org.thingsboard.client.model.AgentId; +import org.thingsboard.client.model.DockerComposeConfig; +import org.thingsboard.client.model.TenantId; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * AgentApplication + */ +@JsonPropertyOrder({ + AgentApplication.JSON_PROPERTY_ID, + AgentApplication.JSON_PROPERTY_CREATED_TIME, + AgentApplication.JSON_PROPERTY_TENANT_ID, + AgentApplication.JSON_PROPERTY_AGENT_ID, + AgentApplication.JSON_PROPERTY_NAME, + AgentApplication.JSON_PROPERTY_TEMPLATE_VERSION, + AgentApplication.JSON_PROPERTY_DESIRED_TEMPLATE_VERSION, + AgentApplication.JSON_PROPERTY_APP_TYPE, + AgentApplication.JSON_PROPERTY_CONFIG, + AgentApplication.JSON_PROPERTY_VERSION, + AgentApplication.JSON_PROPERTY_PROJECT_NAME, + AgentApplication.JSON_PROPERTY_PENDING_DELETION, + AgentApplication.JSON_PROPERTY_ORIGIN, + AgentApplication.JSON_PROPERTY_APPLICATION_PROFILE_ID, + AgentApplication.JSON_PROPERTY_PROFILE_CONFIG_VERSION +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class AgentApplication { + public static final String JSON_PROPERTY_ID = "id"; + @Nullable + private AgentApplicationId id; + + public static final String JSON_PROPERTY_CREATED_TIME = "createdTime"; + @Nullable + private Long createdTime; + + public static final String JSON_PROPERTY_TENANT_ID = "tenantId"; + @Nullable + private TenantId tenantId; + + public static final String JSON_PROPERTY_AGENT_ID = "agentId"; + @Nonnull + private AgentId agentId; + + public static final String JSON_PROPERTY_NAME = "name"; + @Nullable + private String name; + + public static final String JSON_PROPERTY_TEMPLATE_VERSION = "templateVersion"; + @Nonnull + private String templateVersion; + + public static final String JSON_PROPERTY_DESIRED_TEMPLATE_VERSION = "desiredTemplateVersion"; + @Nullable + private String desiredTemplateVersion; + + public static final String JSON_PROPERTY_APP_TYPE = "appType"; + @Nonnull + private AgentApplicationType appType; + + public static final String JSON_PROPERTY_CONFIG = "config"; + @Nullable + private DockerComposeConfig config; + + public static final String JSON_PROPERTY_VERSION = "version"; + @Nullable + private Long version; + + public static final String JSON_PROPERTY_PROJECT_NAME = "projectName"; + @Nullable + private String projectName; + + public static final String JSON_PROPERTY_PENDING_DELETION = "pendingDeletion"; + @Nullable + private Boolean pendingDeletion; + + public static final String JSON_PROPERTY_ORIGIN = "origin"; + @Nullable + private AgentApplicationOrigin origin; + + public static final String JSON_PROPERTY_APPLICATION_PROFILE_ID = "applicationProfileId"; + @Nullable + private AgentAppProfileId applicationProfileId; + + public static final String JSON_PROPERTY_PROFILE_CONFIG_VERSION = "profileConfigVersion"; + @Nullable + private Long profileConfigVersion; + + public AgentApplication() { + } + + @JsonCreator + public AgentApplication( + @JsonProperty(JSON_PROPERTY_CREATED_TIME) Long createdTime, + @JsonProperty(JSON_PROPERTY_TENANT_ID) TenantId tenantId + ) { + this(); + this.createdTime = createdTime; + this.tenantId = tenantId; + } + + public AgentApplication id(@Nullable AgentApplicationId id) { + this.id = id; + return this; + } + + /** + * JSON object with the Agent Application Id. + * @return id + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentApplicationId getId() { + return id; + } + + + @JsonProperty(value = JSON_PROPERTY_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setId(@Nullable AgentApplicationId id) { + this.id = id; + } + + + /** + * Timestamp of the agent application creation, in milliseconds + * @return createdTime + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_CREATED_TIME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getCreatedTime() { + return createdTime; + } + + + + + /** + * JSON object with Tenant Id. + * @return tenantId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TENANT_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public TenantId getTenantId() { + return tenantId; + } + + + + + public AgentApplication agentId(@Nonnull AgentId agentId) { + this.agentId = agentId; + return this; + } + + /** + * Agent this application belongs to + * @return agentId + */ + @Nonnull + @JsonProperty(value = JSON_PROPERTY_AGENT_ID, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public AgentId getAgentId() { + return agentId; + } + + + @JsonProperty(value = JSON_PROPERTY_AGENT_ID, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setAgentId(@Nonnull AgentId agentId) { + this.agentId = agentId; + } + + + public AgentApplication name(@Nullable String name) { + this.name = name; + return this; + } + + /** + * Application name (not unique across tenant) + * @return name + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_NAME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getName() { + return name; + } + + + @JsonProperty(value = JSON_PROPERTY_NAME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setName(@Nullable String name) { + this.name = name; + } + + + public AgentApplication templateVersion(@Nonnull String templateVersion) { + this.templateVersion = templateVersion; + return this; + } + + /** + * Template version this application is based on + * @return templateVersion + */ + @Nonnull + @JsonProperty(value = JSON_PROPERTY_TEMPLATE_VERSION, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getTemplateVersion() { + return templateVersion; + } + + + @JsonProperty(value = JSON_PROPERTY_TEMPLATE_VERSION, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setTemplateVersion(@Nonnull String templateVersion) { + this.templateVersion = templateVersion; + } + + + public AgentApplication desiredTemplateVersion(@Nullable String desiredTemplateVersion) { + this.desiredTemplateVersion = desiredTemplateVersion; + return this; + } + + /** + * Get desiredTemplateVersion + * @return desiredTemplateVersion + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_DESIRED_TEMPLATE_VERSION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getDesiredTemplateVersion() { + return desiredTemplateVersion; + } + + + @JsonProperty(value = JSON_PROPERTY_DESIRED_TEMPLATE_VERSION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setDesiredTemplateVersion(@Nullable String desiredTemplateVersion) { + this.desiredTemplateVersion = desiredTemplateVersion; + } + + + public AgentApplication appType(@Nonnull AgentApplicationType appType) { + this.appType = appType; + return this; + } + + /** + * Application type + * @return appType + */ + @Nonnull + @JsonProperty(value = JSON_PROPERTY_APP_TYPE, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public AgentApplicationType getAppType() { + return appType; + } + + + @JsonProperty(value = JSON_PROPERTY_APP_TYPE, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setAppType(@Nonnull AgentApplicationType appType) { + this.appType = appType; + } + + + public AgentApplication config(@Nullable DockerComposeConfig config) { + this.config = config; + return this; + } + + /** + * Get config + * @return config + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_CONFIG, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public DockerComposeConfig getConfig() { + return config; + } + + + @JsonProperty(value = JSON_PROPERTY_CONFIG, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setConfig(@Nullable DockerComposeConfig config) { + this.config = config; + } + + + public AgentApplication version(@Nullable Long version) { + this.version = version; + return this; + } + + /** + * Get version + * @return version + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_VERSION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getVersion() { + return version; + } + + + @JsonProperty(value = JSON_PROPERTY_VERSION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setVersion(@Nullable Long version) { + this.version = version; + } + + + public AgentApplication projectName(@Nullable String projectName) { + this.projectName = projectName; + return this; + } + + /** + * Get projectName + * @return projectName + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_PROJECT_NAME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getProjectName() { + return projectName; + } + + + @JsonProperty(value = JSON_PROPERTY_PROJECT_NAME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setProjectName(@Nullable String projectName) { + this.projectName = projectName; + } + + + public AgentApplication pendingDeletion(@Nullable Boolean pendingDeletion) { + this.pendingDeletion = pendingDeletion; + return this; + } + + /** + * Get pendingDeletion + * @return pendingDeletion + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_PENDING_DELETION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getPendingDeletion() { + return pendingDeletion; + } + + + @JsonProperty(value = JSON_PROPERTY_PENDING_DELETION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setPendingDeletion(@Nullable Boolean pendingDeletion) { + this.pendingDeletion = pendingDeletion; + } + + + public AgentApplication origin(@Nullable AgentApplicationOrigin origin) { + this.origin = origin; + return this; + } + + /** + * Origin of the application (INSTALLED or DISCOVERED) + * @return origin + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_ORIGIN, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentApplicationOrigin getOrigin() { + return origin; + } + + + @JsonProperty(value = JSON_PROPERTY_ORIGIN, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setOrigin(@Nullable AgentApplicationOrigin origin) { + this.origin = origin; + } + + + public AgentApplication applicationProfileId(@Nullable AgentAppProfileId applicationProfileId) { + this.applicationProfileId = applicationProfileId; + return this; + } + + /** + * Application Profile Id. When set, config is read-only and inherited from the profile. + * @return applicationProfileId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_APPLICATION_PROFILE_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentAppProfileId getApplicationProfileId() { + return applicationProfileId; + } + + + @JsonProperty(value = JSON_PROPERTY_APPLICATION_PROFILE_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setApplicationProfileId(@Nullable AgentAppProfileId applicationProfileId) { + this.applicationProfileId = applicationProfileId; + } + + + public AgentApplication profileConfigVersion(@Nullable Long profileConfigVersion) { + this.profileConfigVersion = profileConfigVersion; + return this; + } + + /** + * Get profileConfigVersion + * @return profileConfigVersion + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_PROFILE_CONFIG_VERSION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getProfileConfigVersion() { + return profileConfigVersion; + } + + + @JsonProperty(value = JSON_PROPERTY_PROFILE_CONFIG_VERSION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setProfileConfigVersion(@Nullable Long profileConfigVersion) { + this.profileConfigVersion = profileConfigVersion; + } + + + /** + * Return true if this AgentApplication object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AgentApplication agentApplication = (AgentApplication) o; + return Objects.equals(this.id, agentApplication.id) && + Objects.equals(this.createdTime, agentApplication.createdTime) && + Objects.equals(this.tenantId, agentApplication.tenantId) && + Objects.equals(this.agentId, agentApplication.agentId) && + Objects.equals(this.name, agentApplication.name) && + Objects.equals(this.templateVersion, agentApplication.templateVersion) && + Objects.equals(this.desiredTemplateVersion, agentApplication.desiredTemplateVersion) && + Objects.equals(this.appType, agentApplication.appType) && + Objects.equals(this.config, agentApplication.config) && + Objects.equals(this.version, agentApplication.version) && + Objects.equals(this.projectName, agentApplication.projectName) && + Objects.equals(this.pendingDeletion, agentApplication.pendingDeletion) && + Objects.equals(this.origin, agentApplication.origin) && + Objects.equals(this.applicationProfileId, agentApplication.applicationProfileId) && + Objects.equals(this.profileConfigVersion, agentApplication.profileConfigVersion); + } + + @Override + public int hashCode() { + return Objects.hash(id, createdTime, tenantId, agentId, name, templateVersion, desiredTemplateVersion, appType, config, version, projectName, pendingDeletion, origin, applicationProfileId, profileConfigVersion); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AgentApplication {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" createdTime: ").append(toIndentedString(createdTime)).append("\n"); + sb.append(" tenantId: ").append(toIndentedString(tenantId)).append("\n"); + sb.append(" agentId: ").append(toIndentedString(agentId)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" templateVersion: ").append(toIndentedString(templateVersion)).append("\n"); + sb.append(" desiredTemplateVersion: ").append(toIndentedString(desiredTemplateVersion)).append("\n"); + sb.append(" appType: ").append(toIndentedString(appType)).append("\n"); + sb.append(" config: ").append(toIndentedString(config)).append("\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append(" projectName: ").append(toIndentedString(projectName)).append("\n"); + sb.append(" pendingDeletion: ").append(toIndentedString(pendingDeletion)).append("\n"); + sb.append(" origin: ").append(toIndentedString(origin)).append("\n"); + sb.append(" applicationProfileId: ").append(toIndentedString(applicationProfileId)).append("\n"); + sb.append(" profileConfigVersion: ").append(toIndentedString(profileConfigVersion)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(getId().toUrlQueryString(prefix + "id" + suffix)); + } + + // add `createdTime` to the URL query string + if (getCreatedTime() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%screatedTime%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getCreatedTime())))); + } + + // add `tenantId` to the URL query string + if (getTenantId() != null) { + joiner.add(getTenantId().toUrlQueryString(prefix + "tenantId" + suffix)); + } + + // add `agentId` to the URL query string + if (getAgentId() != null) { + joiner.add(getAgentId().toUrlQueryString(prefix + "agentId" + suffix)); + } + + // add `name` to the URL query string + if (getName() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sname%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getName())))); + } + + // add `templateVersion` to the URL query string + if (getTemplateVersion() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stemplateVersion%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTemplateVersion())))); + } + + // add `desiredTemplateVersion` to the URL query string + if (getDesiredTemplateVersion() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sdesiredTemplateVersion%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getDesiredTemplateVersion())))); + } + + // add `appType` to the URL query string + if (getAppType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sappType%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getAppType())))); + } + + // add `config` to the URL query string + if (getConfig() != null) { + joiner.add(getConfig().toUrlQueryString(prefix + "config" + suffix)); + } + + // add `version` to the URL query string + if (getVersion() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sversion%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getVersion())))); + } + + // add `projectName` to the URL query string + if (getProjectName() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sprojectName%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getProjectName())))); + } + + // add `pendingDeletion` to the URL query string + if (getPendingDeletion() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%spendingDeletion%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getPendingDeletion())))); + } + + // add `origin` to the URL query string + if (getOrigin() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sorigin%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getOrigin())))); + } + + // add `applicationProfileId` to the URL query string + if (getApplicationProfileId() != null) { + joiner.add(getApplicationProfileId().toUrlQueryString(prefix + "applicationProfileId" + suffix)); + } + + // add `profileConfigVersion` to the URL query string + if (getProfileConfigVersion() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sprofileConfigVersion%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getProfileConfigVersion())))); + } + + return joiner.toString(); + } +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentApplicationId.java b/pe/src/main/java/org/thingsboard/client/model/AgentApplicationId.java new file mode 100644 index 00000000..40bd261f --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentApplicationId.java @@ -0,0 +1,155 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nonnull; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import java.util.UUID; +import org.thingsboard.client.model.EntityId; +import org.thingsboard.client.model.EntityType; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.JSON; +import org.thingsboard.client.ApiClient; +/** + * AgentApplicationId + */ +@JsonPropertyOrder({ +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +@JsonIgnoreProperties( + value = "entityType", // ignore manually set entityType, it will be automatically generated by Jackson during serialization + allowSetters = true // allows the entityType to be set during deserialization +) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "entityType", visible = true) + +public class AgentApplicationId extends EntityId { + public AgentApplicationId() { + } + + @Override + public AgentApplicationId id(@Nonnull UUID id) { + this.setId(id); + return this; + } + + /** + * Return true if this AgentApplicationId object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + return super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AgentApplicationId {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `entityType` to the URL query string + if (getEntityType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sentityType%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getEntityType())))); + } + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sid%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getId())))); + } + + return joiner.toString(); + } +static { + // Initialize and register the discriminator mappings. + Map> mappings = new HashMap>(); + mappings.put("AgentApplicationId", AgentApplicationId.class); + JSON.registerDiscriminator(AgentApplicationId.class, "entityType", mappings); +} +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentApplicationInfo.java b/pe/src/main/java/org/thingsboard/client/model/AgentApplicationInfo.java new file mode 100644 index 00000000..4b21342a --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentApplicationInfo.java @@ -0,0 +1,854 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import org.thingsboard.client.model.AgentAppProfileId; +import org.thingsboard.client.model.AgentApplicationId; +import org.thingsboard.client.model.AgentApplicationOrigin; +import org.thingsboard.client.model.AgentApplicationType; +import org.thingsboard.client.model.AgentId; +import org.thingsboard.client.model.DockerComposeConfig; +import org.thingsboard.client.model.EntityId; +import org.thingsboard.client.model.TenantId; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * AgentApplicationInfo + */ +@JsonPropertyOrder({ + AgentApplicationInfo.JSON_PROPERTY_ID, + AgentApplicationInfo.JSON_PROPERTY_CREATED_TIME, + AgentApplicationInfo.JSON_PROPERTY_TENANT_ID, + AgentApplicationInfo.JSON_PROPERTY_AGENT_ID, + AgentApplicationInfo.JSON_PROPERTY_NAME, + AgentApplicationInfo.JSON_PROPERTY_TEMPLATE_VERSION, + AgentApplicationInfo.JSON_PROPERTY_DESIRED_TEMPLATE_VERSION, + AgentApplicationInfo.JSON_PROPERTY_APP_TYPE, + AgentApplicationInfo.JSON_PROPERTY_CONFIG, + AgentApplicationInfo.JSON_PROPERTY_VERSION, + AgentApplicationInfo.JSON_PROPERTY_PROJECT_NAME, + AgentApplicationInfo.JSON_PROPERTY_PENDING_DELETION, + AgentApplicationInfo.JSON_PROPERTY_ORIGIN, + AgentApplicationInfo.JSON_PROPERTY_APPLICATION_PROFILE_ID, + AgentApplicationInfo.JSON_PROPERTY_PROFILE_CONFIG_VERSION, + AgentApplicationInfo.JSON_PROPERTY_CURRENT_VERSION, + AgentApplicationInfo.JSON_PROPERTY_NEXT_VERSION, + AgentApplicationInfo.JSON_PROPERTY_PROFILE_CONFIG_OUTDATED, + AgentApplicationInfo.JSON_PROPERTY_PROFILE_NAME, + AgentApplicationInfo.JSON_PROPERTY_PROFILE_TEMPLATE_VERSION, + AgentApplicationInfo.JSON_PROPERTY_AGENT_NAME, + AgentApplicationInfo.JSON_PROPERTY_RELATED_ENTITY_ID +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class AgentApplicationInfo { + public static final String JSON_PROPERTY_ID = "id"; + @Nullable + private AgentApplicationId id; + + public static final String JSON_PROPERTY_CREATED_TIME = "createdTime"; + @Nullable + private Long createdTime; + + public static final String JSON_PROPERTY_TENANT_ID = "tenantId"; + @Nullable + private TenantId tenantId; + + public static final String JSON_PROPERTY_AGENT_ID = "agentId"; + @Nonnull + private AgentId agentId; + + public static final String JSON_PROPERTY_NAME = "name"; + @Nullable + private String name; + + public static final String JSON_PROPERTY_TEMPLATE_VERSION = "templateVersion"; + @Nonnull + private String templateVersion; + + public static final String JSON_PROPERTY_DESIRED_TEMPLATE_VERSION = "desiredTemplateVersion"; + @Nullable + private String desiredTemplateVersion; + + public static final String JSON_PROPERTY_APP_TYPE = "appType"; + @Nonnull + private AgentApplicationType appType; + + public static final String JSON_PROPERTY_CONFIG = "config"; + @Nullable + private DockerComposeConfig config; + + public static final String JSON_PROPERTY_VERSION = "version"; + @Nullable + private Long version; + + public static final String JSON_PROPERTY_PROJECT_NAME = "projectName"; + @Nullable + private String projectName; + + public static final String JSON_PROPERTY_PENDING_DELETION = "pendingDeletion"; + @Nullable + private Boolean pendingDeletion; + + public static final String JSON_PROPERTY_ORIGIN = "origin"; + @Nullable + private AgentApplicationOrigin origin; + + public static final String JSON_PROPERTY_APPLICATION_PROFILE_ID = "applicationProfileId"; + @Nullable + private AgentAppProfileId applicationProfileId; + + public static final String JSON_PROPERTY_PROFILE_CONFIG_VERSION = "profileConfigVersion"; + @Nullable + private Long profileConfigVersion; + + public static final String JSON_PROPERTY_CURRENT_VERSION = "currentVersion"; + @Nullable + private String currentVersion; + + public static final String JSON_PROPERTY_NEXT_VERSION = "nextVersion"; + @Nullable + private String nextVersion; + + public static final String JSON_PROPERTY_PROFILE_CONFIG_OUTDATED = "profileConfigOutdated"; + @Nullable + private Boolean profileConfigOutdated; + + public static final String JSON_PROPERTY_PROFILE_NAME = "profileName"; + @Nullable + private String profileName; + + public static final String JSON_PROPERTY_PROFILE_TEMPLATE_VERSION = "profileTemplateVersion"; + @Nullable + private String profileTemplateVersion; + + public static final String JSON_PROPERTY_AGENT_NAME = "agentName"; + @Nullable + private String agentName; + + public static final String JSON_PROPERTY_RELATED_ENTITY_ID = "relatedEntityId"; + @Nullable + private EntityId relatedEntityId; + + public AgentApplicationInfo() { + } + + @JsonCreator + public AgentApplicationInfo( + @JsonProperty(JSON_PROPERTY_CREATED_TIME) Long createdTime, + @JsonProperty(JSON_PROPERTY_TENANT_ID) TenantId tenantId, + @JsonProperty(JSON_PROPERTY_CURRENT_VERSION) String currentVersion, + @JsonProperty(JSON_PROPERTY_NEXT_VERSION) String nextVersion, + @JsonProperty(JSON_PROPERTY_PROFILE_CONFIG_OUTDATED) Boolean profileConfigOutdated, + @JsonProperty(JSON_PROPERTY_PROFILE_NAME) String profileName, + @JsonProperty(JSON_PROPERTY_PROFILE_TEMPLATE_VERSION) String profileTemplateVersion, + @JsonProperty(JSON_PROPERTY_AGENT_NAME) String agentName, + @JsonProperty(JSON_PROPERTY_RELATED_ENTITY_ID) EntityId relatedEntityId + ) { + this(); + this.createdTime = createdTime; + this.tenantId = tenantId; + this.currentVersion = currentVersion; + this.nextVersion = nextVersion; + this.profileConfigOutdated = profileConfigOutdated; + this.profileName = profileName; + this.profileTemplateVersion = profileTemplateVersion; + this.agentName = agentName; + this.relatedEntityId = relatedEntityId; + } + + public AgentApplicationInfo id(@Nullable AgentApplicationId id) { + this.id = id; + return this; + } + + /** + * JSON object with the Agent Application Id. + * @return id + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentApplicationId getId() { + return id; + } + + + @JsonProperty(value = JSON_PROPERTY_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setId(@Nullable AgentApplicationId id) { + this.id = id; + } + + + /** + * Timestamp of the agent application creation, in milliseconds + * @return createdTime + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_CREATED_TIME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getCreatedTime() { + return createdTime; + } + + + + + /** + * JSON object with Tenant Id. + * @return tenantId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TENANT_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public TenantId getTenantId() { + return tenantId; + } + + + + + public AgentApplicationInfo agentId(@Nonnull AgentId agentId) { + this.agentId = agentId; + return this; + } + + /** + * Agent this application belongs to + * @return agentId + */ + @Nonnull + @JsonProperty(value = JSON_PROPERTY_AGENT_ID, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public AgentId getAgentId() { + return agentId; + } + + + @JsonProperty(value = JSON_PROPERTY_AGENT_ID, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setAgentId(@Nonnull AgentId agentId) { + this.agentId = agentId; + } + + + public AgentApplicationInfo name(@Nullable String name) { + this.name = name; + return this; + } + + /** + * Application name (not unique across tenant) + * @return name + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_NAME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getName() { + return name; + } + + + @JsonProperty(value = JSON_PROPERTY_NAME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setName(@Nullable String name) { + this.name = name; + } + + + public AgentApplicationInfo templateVersion(@Nonnull String templateVersion) { + this.templateVersion = templateVersion; + return this; + } + + /** + * Template version this application is based on + * @return templateVersion + */ + @Nonnull + @JsonProperty(value = JSON_PROPERTY_TEMPLATE_VERSION, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getTemplateVersion() { + return templateVersion; + } + + + @JsonProperty(value = JSON_PROPERTY_TEMPLATE_VERSION, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setTemplateVersion(@Nonnull String templateVersion) { + this.templateVersion = templateVersion; + } + + + public AgentApplicationInfo desiredTemplateVersion(@Nullable String desiredTemplateVersion) { + this.desiredTemplateVersion = desiredTemplateVersion; + return this; + } + + /** + * Get desiredTemplateVersion + * @return desiredTemplateVersion + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_DESIRED_TEMPLATE_VERSION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getDesiredTemplateVersion() { + return desiredTemplateVersion; + } + + + @JsonProperty(value = JSON_PROPERTY_DESIRED_TEMPLATE_VERSION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setDesiredTemplateVersion(@Nullable String desiredTemplateVersion) { + this.desiredTemplateVersion = desiredTemplateVersion; + } + + + public AgentApplicationInfo appType(@Nonnull AgentApplicationType appType) { + this.appType = appType; + return this; + } + + /** + * Application type + * @return appType + */ + @Nonnull + @JsonProperty(value = JSON_PROPERTY_APP_TYPE, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public AgentApplicationType getAppType() { + return appType; + } + + + @JsonProperty(value = JSON_PROPERTY_APP_TYPE, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setAppType(@Nonnull AgentApplicationType appType) { + this.appType = appType; + } + + + public AgentApplicationInfo config(@Nullable DockerComposeConfig config) { + this.config = config; + return this; + } + + /** + * Get config + * @return config + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_CONFIG, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public DockerComposeConfig getConfig() { + return config; + } + + + @JsonProperty(value = JSON_PROPERTY_CONFIG, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setConfig(@Nullable DockerComposeConfig config) { + this.config = config; + } + + + public AgentApplicationInfo version(@Nullable Long version) { + this.version = version; + return this; + } + + /** + * Get version + * @return version + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_VERSION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getVersion() { + return version; + } + + + @JsonProperty(value = JSON_PROPERTY_VERSION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setVersion(@Nullable Long version) { + this.version = version; + } + + + public AgentApplicationInfo projectName(@Nullable String projectName) { + this.projectName = projectName; + return this; + } + + /** + * Get projectName + * @return projectName + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_PROJECT_NAME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getProjectName() { + return projectName; + } + + + @JsonProperty(value = JSON_PROPERTY_PROJECT_NAME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setProjectName(@Nullable String projectName) { + this.projectName = projectName; + } + + + public AgentApplicationInfo pendingDeletion(@Nullable Boolean pendingDeletion) { + this.pendingDeletion = pendingDeletion; + return this; + } + + /** + * Get pendingDeletion + * @return pendingDeletion + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_PENDING_DELETION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getPendingDeletion() { + return pendingDeletion; + } + + + @JsonProperty(value = JSON_PROPERTY_PENDING_DELETION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setPendingDeletion(@Nullable Boolean pendingDeletion) { + this.pendingDeletion = pendingDeletion; + } + + + public AgentApplicationInfo origin(@Nullable AgentApplicationOrigin origin) { + this.origin = origin; + return this; + } + + /** + * Origin of the application (INSTALLED or DISCOVERED) + * @return origin + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_ORIGIN, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentApplicationOrigin getOrigin() { + return origin; + } + + + @JsonProperty(value = JSON_PROPERTY_ORIGIN, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setOrigin(@Nullable AgentApplicationOrigin origin) { + this.origin = origin; + } + + + public AgentApplicationInfo applicationProfileId(@Nullable AgentAppProfileId applicationProfileId) { + this.applicationProfileId = applicationProfileId; + return this; + } + + /** + * Application Profile Id. When set, config is read-only and inherited from the profile. + * @return applicationProfileId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_APPLICATION_PROFILE_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentAppProfileId getApplicationProfileId() { + return applicationProfileId; + } + + + @JsonProperty(value = JSON_PROPERTY_APPLICATION_PROFILE_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setApplicationProfileId(@Nullable AgentAppProfileId applicationProfileId) { + this.applicationProfileId = applicationProfileId; + } + + + public AgentApplicationInfo profileConfigVersion(@Nullable Long profileConfigVersion) { + this.profileConfigVersion = profileConfigVersion; + return this; + } + + /** + * Get profileConfigVersion + * @return profileConfigVersion + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_PROFILE_CONFIG_VERSION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getProfileConfigVersion() { + return profileConfigVersion; + } + + + @JsonProperty(value = JSON_PROPERTY_PROFILE_CONFIG_VERSION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setProfileConfigVersion(@Nullable Long profileConfigVersion) { + this.profileConfigVersion = profileConfigVersion; + } + + + /** + * Current version of the template this application is based on. + * @return currentVersion + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_CURRENT_VERSION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getCurrentVersion() { + return currentVersion; + } + + + + + /** + * Next version available for upgrade. + * @return nextVersion + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_NEXT_VERSION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getNextVersion() { + return nextVersion; + } + + + + + /** + * True if the app's config is outdated relative to its profile. + * @return profileConfigOutdated + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_PROFILE_CONFIG_OUTDATED, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getProfileConfigOutdated() { + return profileConfigOutdated; + } + + + + + /** + * Name of the application profile this app is based on. + * @return profileName + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_PROFILE_NAME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getProfileName() { + return profileName; + } + + + + + /** + * Template version of the application profile this app is based on. + * @return profileTemplateVersion + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_PROFILE_TEMPLATE_VERSION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getProfileTemplateVersion() { + return profileTemplateVersion; + } + + + + + /** + * Name of the owning agent. + * @return agentName + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_AGENT_NAME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getAgentName() { + return agentName; + } + + + + + /** + * Related entity id (Edge or Gateway device) currently assigned to this application. + * @return relatedEntityId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_RELATED_ENTITY_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public EntityId getRelatedEntityId() { + return relatedEntityId; + } + + + + + /** + * Return true if this AgentApplicationInfo object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AgentApplicationInfo agentApplicationInfo = (AgentApplicationInfo) o; + return Objects.equals(this.id, agentApplicationInfo.id) && + Objects.equals(this.createdTime, agentApplicationInfo.createdTime) && + Objects.equals(this.tenantId, agentApplicationInfo.tenantId) && + Objects.equals(this.agentId, agentApplicationInfo.agentId) && + Objects.equals(this.name, agentApplicationInfo.name) && + Objects.equals(this.templateVersion, agentApplicationInfo.templateVersion) && + Objects.equals(this.desiredTemplateVersion, agentApplicationInfo.desiredTemplateVersion) && + Objects.equals(this.appType, agentApplicationInfo.appType) && + Objects.equals(this.config, agentApplicationInfo.config) && + Objects.equals(this.version, agentApplicationInfo.version) && + Objects.equals(this.projectName, agentApplicationInfo.projectName) && + Objects.equals(this.pendingDeletion, agentApplicationInfo.pendingDeletion) && + Objects.equals(this.origin, agentApplicationInfo.origin) && + Objects.equals(this.applicationProfileId, agentApplicationInfo.applicationProfileId) && + Objects.equals(this.profileConfigVersion, agentApplicationInfo.profileConfigVersion) && + Objects.equals(this.currentVersion, agentApplicationInfo.currentVersion) && + Objects.equals(this.nextVersion, agentApplicationInfo.nextVersion) && + Objects.equals(this.profileConfigOutdated, agentApplicationInfo.profileConfigOutdated) && + Objects.equals(this.profileName, agentApplicationInfo.profileName) && + Objects.equals(this.profileTemplateVersion, agentApplicationInfo.profileTemplateVersion) && + Objects.equals(this.agentName, agentApplicationInfo.agentName) && + Objects.equals(this.relatedEntityId, agentApplicationInfo.relatedEntityId); + } + + @Override + public int hashCode() { + return Objects.hash(id, createdTime, tenantId, agentId, name, templateVersion, desiredTemplateVersion, appType, config, version, projectName, pendingDeletion, origin, applicationProfileId, profileConfigVersion, currentVersion, nextVersion, profileConfigOutdated, profileName, profileTemplateVersion, agentName, relatedEntityId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AgentApplicationInfo {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" createdTime: ").append(toIndentedString(createdTime)).append("\n"); + sb.append(" tenantId: ").append(toIndentedString(tenantId)).append("\n"); + sb.append(" agentId: ").append(toIndentedString(agentId)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" templateVersion: ").append(toIndentedString(templateVersion)).append("\n"); + sb.append(" desiredTemplateVersion: ").append(toIndentedString(desiredTemplateVersion)).append("\n"); + sb.append(" appType: ").append(toIndentedString(appType)).append("\n"); + sb.append(" config: ").append(toIndentedString(config)).append("\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append(" projectName: ").append(toIndentedString(projectName)).append("\n"); + sb.append(" pendingDeletion: ").append(toIndentedString(pendingDeletion)).append("\n"); + sb.append(" origin: ").append(toIndentedString(origin)).append("\n"); + sb.append(" applicationProfileId: ").append(toIndentedString(applicationProfileId)).append("\n"); + sb.append(" profileConfigVersion: ").append(toIndentedString(profileConfigVersion)).append("\n"); + sb.append(" currentVersion: ").append(toIndentedString(currentVersion)).append("\n"); + sb.append(" nextVersion: ").append(toIndentedString(nextVersion)).append("\n"); + sb.append(" profileConfigOutdated: ").append(toIndentedString(profileConfigOutdated)).append("\n"); + sb.append(" profileName: ").append(toIndentedString(profileName)).append("\n"); + sb.append(" profileTemplateVersion: ").append(toIndentedString(profileTemplateVersion)).append("\n"); + sb.append(" agentName: ").append(toIndentedString(agentName)).append("\n"); + sb.append(" relatedEntityId: ").append(toIndentedString(relatedEntityId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(getId().toUrlQueryString(prefix + "id" + suffix)); + } + + // add `createdTime` to the URL query string + if (getCreatedTime() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%screatedTime%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getCreatedTime())))); + } + + // add `tenantId` to the URL query string + if (getTenantId() != null) { + joiner.add(getTenantId().toUrlQueryString(prefix + "tenantId" + suffix)); + } + + // add `agentId` to the URL query string + if (getAgentId() != null) { + joiner.add(getAgentId().toUrlQueryString(prefix + "agentId" + suffix)); + } + + // add `name` to the URL query string + if (getName() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sname%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getName())))); + } + + // add `templateVersion` to the URL query string + if (getTemplateVersion() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stemplateVersion%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTemplateVersion())))); + } + + // add `desiredTemplateVersion` to the URL query string + if (getDesiredTemplateVersion() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sdesiredTemplateVersion%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getDesiredTemplateVersion())))); + } + + // add `appType` to the URL query string + if (getAppType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sappType%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getAppType())))); + } + + // add `config` to the URL query string + if (getConfig() != null) { + joiner.add(getConfig().toUrlQueryString(prefix + "config" + suffix)); + } + + // add `version` to the URL query string + if (getVersion() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sversion%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getVersion())))); + } + + // add `projectName` to the URL query string + if (getProjectName() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sprojectName%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getProjectName())))); + } + + // add `pendingDeletion` to the URL query string + if (getPendingDeletion() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%spendingDeletion%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getPendingDeletion())))); + } + + // add `origin` to the URL query string + if (getOrigin() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sorigin%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getOrigin())))); + } + + // add `applicationProfileId` to the URL query string + if (getApplicationProfileId() != null) { + joiner.add(getApplicationProfileId().toUrlQueryString(prefix + "applicationProfileId" + suffix)); + } + + // add `profileConfigVersion` to the URL query string + if (getProfileConfigVersion() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sprofileConfigVersion%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getProfileConfigVersion())))); + } + + // add `currentVersion` to the URL query string + if (getCurrentVersion() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%scurrentVersion%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getCurrentVersion())))); + } + + // add `nextVersion` to the URL query string + if (getNextVersion() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%snextVersion%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getNextVersion())))); + } + + // add `profileConfigOutdated` to the URL query string + if (getProfileConfigOutdated() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sprofileConfigOutdated%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getProfileConfigOutdated())))); + } + + // add `profileName` to the URL query string + if (getProfileName() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sprofileName%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getProfileName())))); + } + + // add `profileTemplateVersion` to the URL query string + if (getProfileTemplateVersion() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sprofileTemplateVersion%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getProfileTemplateVersion())))); + } + + // add `agentName` to the URL query string + if (getAgentName() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sagentName%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getAgentName())))); + } + + // add `relatedEntityId` to the URL query string + if (getRelatedEntityId() != null) { + joiner.add(getRelatedEntityId().toUrlQueryString(prefix + "relatedEntityId" + suffix)); + } + + return joiner.toString(); + } +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentApplicationOrigin.java b/pe/src/main/java/org/thingsboard/client/model/AgentApplicationOrigin.java new file mode 100644 index 00000000..544ca353 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentApplicationOrigin.java @@ -0,0 +1,82 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +/** + * Gets or Sets AgentApplicationOrigin + */ +public enum AgentApplicationOrigin { + + INSTALLED("INSTALLED"), + + DISCOVERED("DISCOVERED"), + + AUTO_PROVISIONED("AUTO_PROVISIONED"); + + private String value; + + AgentApplicationOrigin(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static AgentApplicationOrigin fromValue(String value) { + for (AgentApplicationOrigin b : AgentApplicationOrigin.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + return String.format(java.util.Locale.ROOT, "%s=%s", prefix, this.toString()); + } + +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentApplicationType.java b/pe/src/main/java/org/thingsboard/client/model/AgentApplicationType.java new file mode 100644 index 00000000..3c575e7e --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentApplicationType.java @@ -0,0 +1,82 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +/** + * Gets or Sets AgentApplicationType + */ +public enum AgentApplicationType { + + GENERIC("GENERIC"), + + EDGE("EDGE"), + + GATEWAY("GATEWAY"); + + private String value; + + AgentApplicationType(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static AgentApplicationType fromValue(String value) { + for (AgentApplicationType b : AgentApplicationType.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + return String.format(java.util.Locale.ROOT, "%s=%s", prefix, this.toString()); + } + +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentBulkAction.java b/pe/src/main/java/org/thingsboard/client/model/AgentBulkAction.java new file mode 100644 index 00000000..20dcb7ee --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentBulkAction.java @@ -0,0 +1,568 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; +import org.thingsboard.client.model.AgentAppEventActionType; +import org.thingsboard.client.model.AgentBulkActionId; +import org.thingsboard.client.model.AgentBulkActionStatus; +import org.thingsboard.client.model.TenantId; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * AgentBulkAction + */ +@JsonPropertyOrder({ + AgentBulkAction.JSON_PROPERTY_ID, + AgentBulkAction.JSON_PROPERTY_CREATED_TIME, + AgentBulkAction.JSON_PROPERTY_TENANT_ID, + AgentBulkAction.JSON_PROPERTY_AGENT_PROFILE_ID, + AgentBulkAction.JSON_PROPERTY_APPLICATION_PROFILE_ID, + AgentBulkAction.JSON_PROPERTY_ACTION_TYPE, + AgentBulkAction.JSON_PROPERTY_STATUS, + AgentBulkAction.JSON_PROPERTY_ERROR_MSG, + AgentBulkAction.JSON_PROPERTY_PROCESSING_STARTED_TIME, + AgentBulkAction.JSON_PROPERTY_TOTAL, + AgentBulkAction.JSON_PROPERTY_SUBMITTED, + AgentBulkAction.JSON_PROPERTY_SKIP_COUNTS +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class AgentBulkAction { + public static final String JSON_PROPERTY_ID = "id"; + @Nullable + private AgentBulkActionId id; + + public static final String JSON_PROPERTY_CREATED_TIME = "createdTime"; + @Nullable + private Long createdTime; + + public static final String JSON_PROPERTY_TENANT_ID = "tenantId"; + @Nullable + private TenantId tenantId; + + public static final String JSON_PROPERTY_AGENT_PROFILE_ID = "agentProfileId"; + @Nullable + private UUID agentProfileId; + + public static final String JSON_PROPERTY_APPLICATION_PROFILE_ID = "applicationProfileId"; + @Nullable + private UUID applicationProfileId; + + public static final String JSON_PROPERTY_ACTION_TYPE = "actionType"; + @Nullable + private AgentAppEventActionType actionType; + + public static final String JSON_PROPERTY_STATUS = "status"; + @Nullable + private AgentBulkActionStatus status; + + public static final String JSON_PROPERTY_ERROR_MSG = "errorMsg"; + @Nullable + private String errorMsg; + + public static final String JSON_PROPERTY_PROCESSING_STARTED_TIME = "processingStartedTime"; + @Nullable + private Long processingStartedTime; + + public static final String JSON_PROPERTY_TOTAL = "total"; + @Nullable + private Integer total; + + public static final String JSON_PROPERTY_SUBMITTED = "submitted"; + @Nullable + private Integer submitted; + + public static final String JSON_PROPERTY_SKIP_COUNTS = "skipCounts"; + @Nullable + private Map skipCounts = new HashMap<>(); + + public AgentBulkAction() { + } + + @JsonCreator + public AgentBulkAction( + @JsonProperty(JSON_PROPERTY_CREATED_TIME) Long createdTime + ) { + this(); + this.createdTime = createdTime; + } + + public AgentBulkAction id(@Nullable AgentBulkActionId id) { + this.id = id; + return this; + } + + /** + * JSON object with the Agent Bulk Action Id. + * @return id + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentBulkActionId getId() { + return id; + } + + + @JsonProperty(value = JSON_PROPERTY_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setId(@Nullable AgentBulkActionId id) { + this.id = id; + } + + + /** + * Timestamp of the bulk action creation, in milliseconds + * @return createdTime + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_CREATED_TIME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getCreatedTime() { + return createdTime; + } + + + + + public AgentBulkAction tenantId(@Nullable TenantId tenantId) { + this.tenantId = tenantId; + return this; + } + + /** + * Get tenantId + * @return tenantId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TENANT_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public TenantId getTenantId() { + return tenantId; + } + + + @JsonProperty(value = JSON_PROPERTY_TENANT_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setTenantId(@Nullable TenantId tenantId) { + this.tenantId = tenantId; + } + + + public AgentBulkAction agentProfileId(@Nullable UUID agentProfileId) { + this.agentProfileId = agentProfileId; + return this; + } + + /** + * Get agentProfileId + * @return agentProfileId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_AGENT_PROFILE_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public UUID getAgentProfileId() { + return agentProfileId; + } + + + @JsonProperty(value = JSON_PROPERTY_AGENT_PROFILE_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setAgentProfileId(@Nullable UUID agentProfileId) { + this.agentProfileId = agentProfileId; + } + + + public AgentBulkAction applicationProfileId(@Nullable UUID applicationProfileId) { + this.applicationProfileId = applicationProfileId; + return this; + } + + /** + * Get applicationProfileId + * @return applicationProfileId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_APPLICATION_PROFILE_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public UUID getApplicationProfileId() { + return applicationProfileId; + } + + + @JsonProperty(value = JSON_PROPERTY_APPLICATION_PROFILE_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setApplicationProfileId(@Nullable UUID applicationProfileId) { + this.applicationProfileId = applicationProfileId; + } + + + public AgentBulkAction actionType(@Nullable AgentAppEventActionType actionType) { + this.actionType = actionType; + return this; + } + + /** + * Get actionType + * @return actionType + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_ACTION_TYPE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentAppEventActionType getActionType() { + return actionType; + } + + + @JsonProperty(value = JSON_PROPERTY_ACTION_TYPE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setActionType(@Nullable AgentAppEventActionType actionType) { + this.actionType = actionType; + } + + + public AgentBulkAction status(@Nullable AgentBulkActionStatus status) { + this.status = status; + return this; + } + + /** + * Get status + * @return status + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_STATUS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentBulkActionStatus getStatus() { + return status; + } + + + @JsonProperty(value = JSON_PROPERTY_STATUS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setStatus(@Nullable AgentBulkActionStatus status) { + this.status = status; + } + + + public AgentBulkAction errorMsg(@Nullable String errorMsg) { + this.errorMsg = errorMsg; + return this; + } + + /** + * Get errorMsg + * @return errorMsg + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_ERROR_MSG, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getErrorMsg() { + return errorMsg; + } + + + @JsonProperty(value = JSON_PROPERTY_ERROR_MSG, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setErrorMsg(@Nullable String errorMsg) { + this.errorMsg = errorMsg; + } + + + public AgentBulkAction processingStartedTime(@Nullable Long processingStartedTime) { + this.processingStartedTime = processingStartedTime; + return this; + } + + /** + * Get processingStartedTime + * @return processingStartedTime + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_PROCESSING_STARTED_TIME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getProcessingStartedTime() { + return processingStartedTime; + } + + + @JsonProperty(value = JSON_PROPERTY_PROCESSING_STARTED_TIME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setProcessingStartedTime(@Nullable Long processingStartedTime) { + this.processingStartedTime = processingStartedTime; + } + + + public AgentBulkAction total(@Nullable Integer total) { + this.total = total; + return this; + } + + /** + * Get total + * @return total + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TOTAL, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Integer getTotal() { + return total; + } + + + @JsonProperty(value = JSON_PROPERTY_TOTAL, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setTotal(@Nullable Integer total) { + this.total = total; + } + + + public AgentBulkAction submitted(@Nullable Integer submitted) { + this.submitted = submitted; + return this; + } + + /** + * Get submitted + * @return submitted + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_SUBMITTED, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Integer getSubmitted() { + return submitted; + } + + + @JsonProperty(value = JSON_PROPERTY_SUBMITTED, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setSubmitted(@Nullable Integer submitted) { + this.submitted = submitted; + } + + + public AgentBulkAction skipCounts(@Nullable Map skipCounts) { + this.skipCounts = skipCounts; + return this; + } + + public AgentBulkAction putSkipCountsItem(String key, Integer skipCountsItem) { + if (this.skipCounts == null) { + this.skipCounts = new HashMap<>(); + } + this.skipCounts.put(key, skipCountsItem); + return this; + } + + /** + * Get skipCounts + * @return skipCounts + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_SKIP_COUNTS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Map getSkipCounts() { + return skipCounts; + } + + + @JsonProperty(value = JSON_PROPERTY_SKIP_COUNTS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setSkipCounts(@Nullable Map skipCounts) { + this.skipCounts = skipCounts; + } + + + /** + * Return true if this AgentBulkAction object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AgentBulkAction agentBulkAction = (AgentBulkAction) o; + return Objects.equals(this.id, agentBulkAction.id) && + Objects.equals(this.createdTime, agentBulkAction.createdTime) && + Objects.equals(this.tenantId, agentBulkAction.tenantId) && + Objects.equals(this.agentProfileId, agentBulkAction.agentProfileId) && + Objects.equals(this.applicationProfileId, agentBulkAction.applicationProfileId) && + Objects.equals(this.actionType, agentBulkAction.actionType) && + Objects.equals(this.status, agentBulkAction.status) && + Objects.equals(this.errorMsg, agentBulkAction.errorMsg) && + Objects.equals(this.processingStartedTime, agentBulkAction.processingStartedTime) && + Objects.equals(this.total, agentBulkAction.total) && + Objects.equals(this.submitted, agentBulkAction.submitted) && + Objects.equals(this.skipCounts, agentBulkAction.skipCounts); + } + + @Override + public int hashCode() { + return Objects.hash(id, createdTime, tenantId, agentProfileId, applicationProfileId, actionType, status, errorMsg, processingStartedTime, total, submitted, skipCounts); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AgentBulkAction {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" createdTime: ").append(toIndentedString(createdTime)).append("\n"); + sb.append(" tenantId: ").append(toIndentedString(tenantId)).append("\n"); + sb.append(" agentProfileId: ").append(toIndentedString(agentProfileId)).append("\n"); + sb.append(" applicationProfileId: ").append(toIndentedString(applicationProfileId)).append("\n"); + sb.append(" actionType: ").append(toIndentedString(actionType)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" errorMsg: ").append(toIndentedString(errorMsg)).append("\n"); + sb.append(" processingStartedTime: ").append(toIndentedString(processingStartedTime)).append("\n"); + sb.append(" total: ").append(toIndentedString(total)).append("\n"); + sb.append(" submitted: ").append(toIndentedString(submitted)).append("\n"); + sb.append(" skipCounts: ").append(toIndentedString(skipCounts)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(getId().toUrlQueryString(prefix + "id" + suffix)); + } + + // add `createdTime` to the URL query string + if (getCreatedTime() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%screatedTime%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getCreatedTime())))); + } + + // add `tenantId` to the URL query string + if (getTenantId() != null) { + joiner.add(getTenantId().toUrlQueryString(prefix + "tenantId" + suffix)); + } + + // add `agentProfileId` to the URL query string + if (getAgentProfileId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sagentProfileId%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getAgentProfileId())))); + } + + // add `applicationProfileId` to the URL query string + if (getApplicationProfileId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sapplicationProfileId%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getApplicationProfileId())))); + } + + // add `actionType` to the URL query string + if (getActionType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sactionType%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getActionType())))); + } + + // add `status` to the URL query string + if (getStatus() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sstatus%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getStatus())))); + } + + // add `errorMsg` to the URL query string + if (getErrorMsg() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%serrorMsg%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getErrorMsg())))); + } + + // add `processingStartedTime` to the URL query string + if (getProcessingStartedTime() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sprocessingStartedTime%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getProcessingStartedTime())))); + } + + // add `total` to the URL query string + if (getTotal() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stotal%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTotal())))); + } + + // add `submitted` to the URL query string + if (getSubmitted() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%ssubmitted%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getSubmitted())))); + } + + // add `skipCounts` to the URL query string + if (getSkipCounts() != null) { + for (String _key : getSkipCounts().keySet()) { + joiner.add(String.format(java.util.Locale.ROOT, "%sskipCounts%s%s=%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, _key, containerSuffix), + getSkipCounts().get(_key), ApiClient.urlEncode(ApiClient.valueToString(getSkipCounts().get(_key))))); + } + } + + return joiner.toString(); + } +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentBulkActionEventStats.java b/pe/src/main/java/org/thingsboard/client/model/AgentBulkActionEventStats.java new file mode 100644 index 00000000..b6df14db --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentBulkActionEventStats.java @@ -0,0 +1,205 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * AgentBulkActionEventStats + */ +@JsonPropertyOrder({ + AgentBulkActionEventStats.JSON_PROPERTY_COUNTS_BY_STATUS, + AgentBulkActionEventStats.JSON_PROPERTY_TOTAL +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class AgentBulkActionEventStats { + public static final String JSON_PROPERTY_COUNTS_BY_STATUS = "countsByStatus"; + @Nullable + private Map countsByStatus = new HashMap<>(); + + public static final String JSON_PROPERTY_TOTAL = "total"; + @Nullable + private Long total; + + public AgentBulkActionEventStats() { + } + + public AgentBulkActionEventStats countsByStatus(@Nullable Map countsByStatus) { + this.countsByStatus = countsByStatus; + return this; + } + + public AgentBulkActionEventStats putCountsByStatusItem(String key, Long countsByStatusItem) { + if (this.countsByStatus == null) { + this.countsByStatus = new HashMap<>(); + } + this.countsByStatus.put(key, countsByStatusItem); + return this; + } + + /** + * Number of events produced by the bulk action per processing status + * @return countsByStatus + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_COUNTS_BY_STATUS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Map getCountsByStatus() { + return countsByStatus; + } + + + @JsonProperty(value = JSON_PROPERTY_COUNTS_BY_STATUS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCountsByStatus(@Nullable Map countsByStatus) { + this.countsByStatus = countsByStatus; + } + + + public AgentBulkActionEventStats total(@Nullable Long total) { + this.total = total; + return this; + } + + /** + * Total number of events produced by the bulk action + * @return total + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TOTAL, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getTotal() { + return total; + } + + + @JsonProperty(value = JSON_PROPERTY_TOTAL, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setTotal(@Nullable Long total) { + this.total = total; + } + + + /** + * Return true if this AgentBulkActionEventStats object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AgentBulkActionEventStats agentBulkActionEventStats = (AgentBulkActionEventStats) o; + return Objects.equals(this.countsByStatus, agentBulkActionEventStats.countsByStatus) && + Objects.equals(this.total, agentBulkActionEventStats.total); + } + + @Override + public int hashCode() { + return Objects.hash(countsByStatus, total); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AgentBulkActionEventStats {\n"); + sb.append(" countsByStatus: ").append(toIndentedString(countsByStatus)).append("\n"); + sb.append(" total: ").append(toIndentedString(total)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `countsByStatus` to the URL query string + if (getCountsByStatus() != null) { + for (String _key : getCountsByStatus().keySet()) { + joiner.add(String.format(java.util.Locale.ROOT, "%scountsByStatus%s%s=%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, _key, containerSuffix), + getCountsByStatus().get(_key), ApiClient.urlEncode(ApiClient.valueToString(getCountsByStatus().get(_key))))); + } + } + + // add `total` to the URL query string + if (getTotal() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stotal%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTotal())))); + } + + return joiner.toString(); + } +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentBulkActionId.java b/pe/src/main/java/org/thingsboard/client/model/AgentBulkActionId.java new file mode 100644 index 00000000..1338f52b --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentBulkActionId.java @@ -0,0 +1,155 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nonnull; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import java.util.UUID; +import org.thingsboard.client.model.EntityId; +import org.thingsboard.client.model.EntityType; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.JSON; +import org.thingsboard.client.ApiClient; +/** + * AgentBulkActionId + */ +@JsonPropertyOrder({ +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +@JsonIgnoreProperties( + value = "entityType", // ignore manually set entityType, it will be automatically generated by Jackson during serialization + allowSetters = true // allows the entityType to be set during deserialization +) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "entityType", visible = true) + +public class AgentBulkActionId extends EntityId { + public AgentBulkActionId() { + } + + @Override + public AgentBulkActionId id(@Nonnull UUID id) { + this.setId(id); + return this; + } + + /** + * Return true if this AgentBulkActionId object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + return super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AgentBulkActionId {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `entityType` to the URL query string + if (getEntityType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sentityType%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getEntityType())))); + } + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sid%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getId())))); + } + + return joiner.toString(); + } +static { + // Initialize and register the discriminator mappings. + Map> mappings = new HashMap>(); + mappings.put("AgentBulkActionId", AgentBulkActionId.class); + JSON.registerDiscriminator(AgentBulkActionId.class, "entityType", mappings); +} +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentBulkActionStatus.java b/pe/src/main/java/org/thingsboard/client/model/AgentBulkActionStatus.java new file mode 100644 index 00000000..e9912e07 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentBulkActionStatus.java @@ -0,0 +1,84 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +/** + * Gets or Sets AgentBulkActionStatus + */ +public enum AgentBulkActionStatus { + + QUEUED("QUEUED"), + + IN_PROGRESS("IN_PROGRESS"), + + STARTED("STARTED"), + + START_FAILED("START_FAILED"); + + private String value; + + AgentBulkActionStatus(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static AgentBulkActionStatus fromValue(String value) { + for (AgentBulkActionStatus b : AgentBulkActionStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + return String.format(java.util.Locale.ROOT, "%s=%s", prefix, this.toString()); + } + +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentFinalizeStep.java b/pe/src/main/java/org/thingsboard/client/model/AgentFinalizeStep.java new file mode 100644 index 00000000..3fd0964d --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentFinalizeStep.java @@ -0,0 +1,210 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import java.util.UUID; +import org.thingsboard.client.model.AgentAppStep; +import org.thingsboard.client.model.AgentAppStepType; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.JSON; +import org.thingsboard.client.ApiClient; +/** + * AgentFinalizeStep + */ +@JsonPropertyOrder({ +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +@JsonIgnoreProperties( + value = "type", // ignore manually set type, it will be automatically generated by Jackson during serialization + allowSetters = true // allows the type to be set during deserialization +) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", visible = true) + +public class AgentFinalizeStep extends AgentAppStep { + public AgentFinalizeStep() { + } + + @Override + public AgentFinalizeStep id(@Nullable UUID id) { + this.setId(id); + return this; + } + + @Override + public AgentFinalizeStep nextId(@Nullable UUID nextId) { + this.setNextId(nextId); + return this; + } + + @Override + public AgentFinalizeStep title(@Nullable String title) { + this.setTitle(title); + return this; + } + + @Override + public AgentFinalizeStep templateOnly(@Nullable Boolean templateOnly) { + this.setTemplateOnly(templateOnly); + return this; + } + + @Override + public AgentFinalizeStep condition(@Nullable String condition) { + this.setCondition(condition); + return this; + } + + @Override + public AgentFinalizeStep stateful(@Nullable Boolean stateful) { + this.setStateful(stateful); + return this; + } + + /** + * Return true if this AgentFinalizeStep object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + return super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AgentFinalizeStep {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sid%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getId())))); + } + + // add `nextId` to the URL query string + if (getNextId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%snextId%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getNextId())))); + } + + // add `title` to the URL query string + if (getTitle() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stitle%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTitle())))); + } + + // add `templateOnly` to the URL query string + if (getTemplateOnly() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stemplateOnly%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTemplateOnly())))); + } + + // add `condition` to the URL query string + if (getCondition() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%scondition%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getCondition())))); + } + + // add `stateful` to the URL query string + if (getStateful() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sstateful%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getStateful())))); + } + + // add `type` to the URL query string + if (getType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stype%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getType())))); + } + + return joiner.toString(); + } +static { + // Initialize and register the discriminator mappings. + Map> mappings = new HashMap>(); + mappings.put("AgentFinalizeStep", AgentFinalizeStep.class); + JSON.registerDiscriminator(AgentFinalizeStep.class, "type", mappings); +} +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentId.java b/pe/src/main/java/org/thingsboard/client/model/AgentId.java new file mode 100644 index 00000000..8c0aedc4 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentId.java @@ -0,0 +1,155 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nonnull; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import java.util.UUID; +import org.thingsboard.client.model.EntityId; +import org.thingsboard.client.model.EntityType; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.JSON; +import org.thingsboard.client.ApiClient; +/** + * AgentId + */ +@JsonPropertyOrder({ +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +@JsonIgnoreProperties( + value = "entityType", // ignore manually set entityType, it will be automatically generated by Jackson during serialization + allowSetters = true // allows the entityType to be set during deserialization +) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "entityType", visible = true) + +public class AgentId extends EntityId { + public AgentId() { + } + + @Override + public AgentId id(@Nonnull UUID id) { + this.setId(id); + return this; + } + + /** + * Return true if this AgentId object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + return super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AgentId {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `entityType` to the URL query string + if (getEntityType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sentityType%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getEntityType())))); + } + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sid%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getId())))); + } + + return joiner.toString(); + } +static { + // Initialize and register the discriminator mappings. + Map> mappings = new HashMap>(); + mappings.put("AgentId", AgentId.class); + JSON.registerDiscriminator(AgentId.class, "entityType", mappings); +} +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentInfo.java b/pe/src/main/java/org/thingsboard/client/model/AgentInfo.java new file mode 100644 index 00000000..a49f4a00 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentInfo.java @@ -0,0 +1,779 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.thingsboard.client.model.AgentId; +import org.thingsboard.client.model.AgentProfileId; +import org.thingsboard.client.model.CustomerId; +import org.thingsboard.client.model.EntityId; +import org.thingsboard.client.model.EntityInfo; +import org.thingsboard.client.model.TenantId; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * AgentInfo + */ +@JsonPropertyOrder({ + AgentInfo.JSON_PROPERTY_ID, + AgentInfo.JSON_PROPERTY_CREATED_TIME, + AgentInfo.JSON_PROPERTY_ADDITIONAL_INFO, + AgentInfo.JSON_PROPERTY_TENANT_ID, + AgentInfo.JSON_PROPERTY_CUSTOMER_ID, + AgentInfo.JSON_PROPERTY_NAME, + AgentInfo.JSON_PROPERTY_DESCRIPTION, + AgentInfo.JSON_PROPERTY_ROUTING_KEY, + AgentInfo.JSON_PROPERTY_SECRET, + AgentInfo.JSON_PROPERTY_AGENT_PROFILE_ID, + AgentInfo.JSON_PROPERTY_VERSION, + AgentInfo.JSON_PROPERTY_CUSTOMER_TITLE, + AgentInfo.JSON_PROPERTY_CUSTOMER_IS_PUBLIC, + AgentInfo.JSON_PROPERTY_AGENT_PROFILE_NAME, + AgentInfo.JSON_PROPERTY_OWNER_NAME, + AgentInfo.JSON_PROPERTY_GROUPS, + AgentInfo.JSON_PROPERTY_ACTIVE, + AgentInfo.JSON_PROPERTY_AGENT_VERSION, + AgentInfo.JSON_PROPERTY_UPGRADE_TARGET_IMAGE_REF, + AgentInfo.JSON_PROPERTY_OWNER_ID +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class AgentInfo { + public static final String JSON_PROPERTY_ID = "id"; + @Nullable + private AgentId id; + + public static final String JSON_PROPERTY_CREATED_TIME = "createdTime"; + @Nullable + private Long createdTime; + + public static final String JSON_PROPERTY_ADDITIONAL_INFO = "additionalInfo"; + @Nullable + private com.fasterxml.jackson.databind.JsonNode additionalInfo = null; + + public static final String JSON_PROPERTY_TENANT_ID = "tenantId"; + @Nullable + private TenantId tenantId; + + public static final String JSON_PROPERTY_CUSTOMER_ID = "customerId"; + @Nullable + private CustomerId customerId; + + public static final String JSON_PROPERTY_NAME = "name"; + @Nonnull + private String name; + + public static final String JSON_PROPERTY_DESCRIPTION = "description"; + @Nullable + private String description; + + public static final String JSON_PROPERTY_ROUTING_KEY = "routingKey"; + @Nonnull + private String routingKey; + + public static final String JSON_PROPERTY_SECRET = "secret"; + @Nonnull + private String secret; + + public static final String JSON_PROPERTY_AGENT_PROFILE_ID = "agentProfileId"; + @Nullable + private AgentProfileId agentProfileId; + + public static final String JSON_PROPERTY_VERSION = "version"; + @Nullable + private Long version; + + public static final String JSON_PROPERTY_CUSTOMER_TITLE = "customerTitle"; + @Nullable + private String customerTitle; + + public static final String JSON_PROPERTY_CUSTOMER_IS_PUBLIC = "customerIsPublic"; + @Nullable + private Boolean customerIsPublic; + + public static final String JSON_PROPERTY_AGENT_PROFILE_NAME = "agentProfileName"; + @Nullable + private String agentProfileName; + + public static final String JSON_PROPERTY_OWNER_NAME = "ownerName"; + @Nullable + private String ownerName; + + public static final String JSON_PROPERTY_GROUPS = "groups"; + @Nullable + private List groups = new ArrayList<>(); + + public static final String JSON_PROPERTY_ACTIVE = "active"; + @Nullable + private Boolean active; + + public static final String JSON_PROPERTY_AGENT_VERSION = "agentVersion"; + @Nullable + private String agentVersion; + + public static final String JSON_PROPERTY_UPGRADE_TARGET_IMAGE_REF = "upgradeTargetImageRef"; + @Nullable + private String upgradeTargetImageRef; + + public static final String JSON_PROPERTY_OWNER_ID = "ownerId"; + @Nullable + private EntityId ownerId; + + public AgentInfo() { + } + + @JsonCreator + public AgentInfo( + @JsonProperty(JSON_PROPERTY_CREATED_TIME) Long createdTime, + @JsonProperty(JSON_PROPERTY_TENANT_ID) TenantId tenantId, + @JsonProperty(JSON_PROPERTY_CUSTOMER_ID) CustomerId customerId, + @JsonProperty(JSON_PROPERTY_CUSTOMER_TITLE) String customerTitle, + @JsonProperty(JSON_PROPERTY_CUSTOMER_IS_PUBLIC) Boolean customerIsPublic, + @JsonProperty(JSON_PROPERTY_AGENT_PROFILE_NAME) String agentProfileName, + @JsonProperty(JSON_PROPERTY_OWNER_NAME) String ownerName, + @JsonProperty(JSON_PROPERTY_ACTIVE) Boolean active, + @JsonProperty(JSON_PROPERTY_AGENT_VERSION) String agentVersion, + @JsonProperty(JSON_PROPERTY_UPGRADE_TARGET_IMAGE_REF) String upgradeTargetImageRef, + @JsonProperty(JSON_PROPERTY_OWNER_ID) EntityId ownerId + ) { + this(); + this.createdTime = createdTime; + this.tenantId = tenantId; + this.customerId = customerId; + this.customerTitle = customerTitle; + this.customerIsPublic = customerIsPublic; + this.agentProfileName = agentProfileName; + this.ownerName = ownerName; + this.active = active; + this.agentVersion = agentVersion; + this.upgradeTargetImageRef = upgradeTargetImageRef; + this.ownerId = ownerId; + } + + public AgentInfo id(@Nullable AgentId id) { + this.id = id; + return this; + } + + /** + * JSON object with the Agent Id. Specify this field to update the Agent. Referencing non-existing Agent Id will cause error. Omit this field to create new Agent. + * @return id + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentId getId() { + return id; + } + + + @JsonProperty(value = JSON_PROPERTY_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setId(@Nullable AgentId id) { + this.id = id; + } + + + /** + * Timestamp of the agent creation, in milliseconds + * @return createdTime + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_CREATED_TIME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getCreatedTime() { + return createdTime; + } + + + + + public AgentInfo additionalInfo(@Nullable com.fasterxml.jackson.databind.JsonNode additionalInfo) { + this.additionalInfo = additionalInfo; + return this; + } + + /** + * Get additionalInfo + * @return additionalInfo + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_ADDITIONAL_INFO, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public com.fasterxml.jackson.databind.JsonNode getAdditionalInfo() { + return additionalInfo; + } + + + @JsonProperty(value = JSON_PROPERTY_ADDITIONAL_INFO, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setAdditionalInfo(@Nullable com.fasterxml.jackson.databind.JsonNode additionalInfo) { + this.additionalInfo = additionalInfo; + } + + + /** + * JSON object with Tenant Id. Use 'assignAgentToTenant' to change the Tenant Id. + * @return tenantId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TENANT_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public TenantId getTenantId() { + return tenantId; + } + + + + + /** + * JSON object with Customer Id. + * @return customerId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_CUSTOMER_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public CustomerId getCustomerId() { + return customerId; + } + + + + + public AgentInfo name(@Nonnull String name) { + this.name = name; + return this; + } + + /** + * Unique Agent Name in scope of Tenant + * @return name + */ + @Nonnull + @JsonProperty(value = JSON_PROPERTY_NAME, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getName() { + return name; + } + + + @JsonProperty(value = JSON_PROPERTY_NAME, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setName(@Nonnull String name) { + this.name = name; + } + + + public AgentInfo description(@Nullable String description) { + this.description = description; + return this; + } + + /** + * Agent description + * @return description + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_DESCRIPTION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getDescription() { + return description; + } + + + @JsonProperty(value = JSON_PROPERTY_DESCRIPTION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setDescription(@Nullable String description) { + this.description = description; + } + + + public AgentInfo routingKey(@Nonnull String routingKey) { + this.routingKey = routingKey; + return this; + } + + /** + * Agent routing key used for authentication + * @return routingKey + */ + @Nonnull + @JsonProperty(value = JSON_PROPERTY_ROUTING_KEY, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getRoutingKey() { + return routingKey; + } + + + @JsonProperty(value = JSON_PROPERTY_ROUTING_KEY, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setRoutingKey(@Nonnull String routingKey) { + this.routingKey = routingKey; + } + + + public AgentInfo secret(@Nonnull String secret) { + this.secret = secret; + return this; + } + + /** + * Agent secret used for authentication + * @return secret + */ + @Nonnull + @JsonProperty(value = JSON_PROPERTY_SECRET, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getSecret() { + return secret; + } + + + @JsonProperty(value = JSON_PROPERTY_SECRET, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setSecret(@Nonnull String secret) { + this.secret = secret; + } + + + public AgentInfo agentProfileId(@Nullable AgentProfileId agentProfileId) { + this.agentProfileId = agentProfileId; + return this; + } + + /** + * JSON object with Agent Profile Id. Nullable. + * @return agentProfileId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_AGENT_PROFILE_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentProfileId getAgentProfileId() { + return agentProfileId; + } + + + @JsonProperty(value = JSON_PROPERTY_AGENT_PROFILE_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setAgentProfileId(@Nullable AgentProfileId agentProfileId) { + this.agentProfileId = agentProfileId; + } + + + public AgentInfo version(@Nullable Long version) { + this.version = version; + return this; + } + + /** + * Get version + * @return version + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_VERSION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getVersion() { + return version; + } + + + @JsonProperty(value = JSON_PROPERTY_VERSION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setVersion(@Nullable Long version) { + this.version = version; + } + + + /** + * Title of the Customer that owns the agent. + * @return customerTitle + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_CUSTOMER_TITLE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getCustomerTitle() { + return customerTitle; + } + + + + + /** + * Indicates special 'Public' Customer that is auto-generated to use the agents on public dashboards. + * @return customerIsPublic + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_CUSTOMER_IS_PUBLIC, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getCustomerIsPublic() { + return customerIsPublic; + } + + + + + /** + * Name of the Agent Profile the agent belongs to. + * @return agentProfileName + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_AGENT_PROFILE_NAME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getAgentProfileName() { + return agentProfileName; + } + + + + + /** + * Owner name — tenant title if the agent is owned by a tenant, or customer title otherwise. + * @return ownerName + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_OWNER_NAME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getOwnerName() { + return ownerName; + } + + + + + public AgentInfo groups(@Nullable List groups) { + this.groups = groups; + return this; + } + + public AgentInfo addGroupsItem(EntityInfo groupsItem) { + if (this.groups == null) { + this.groups = new ArrayList<>(); + } + this.groups.add(groupsItem); + return this; + } + + /** + * Entity groups that contain this agent (excluding the implicit 'All' group). + * @return groups + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_GROUPS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getGroups() { + return groups; + } + + + @JsonProperty(value = JSON_PROPERTY_GROUPS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setGroups(@Nullable List groups) { + this.groups = groups; + } + + + /** + * Whether the agent currently has an active connection (derived from server-scope 'active' attribute). + * @return active + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_ACTIVE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getActive() { + return active; + } + + + + + /** + * Agent software version reported on the last connect (derived from server-scope 'agentVersion' attribute). + * @return agentVersion + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_AGENT_VERSION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getAgentVersion() { + return agentVersion; + } + + + + + /** + * Image reference this agent should be upgraded to, or null when no upgrade applies. Resolved from the published version graph. + * @return upgradeTargetImageRef + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_UPGRADE_TARGET_IMAGE_REF, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getUpgradeTargetImageRef() { + return upgradeTargetImageRef; + } + + + + + /** + * JSON object with Customer or Tenant Id + * @return ownerId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_OWNER_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public EntityId getOwnerId() { + return ownerId; + } + + + + + /** + * Return true if this AgentInfo object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AgentInfo agentInfo = (AgentInfo) o; + return Objects.equals(this.id, agentInfo.id) && + Objects.equals(this.createdTime, agentInfo.createdTime) && + Objects.equals(this.additionalInfo, agentInfo.additionalInfo) && + Objects.equals(this.tenantId, agentInfo.tenantId) && + Objects.equals(this.customerId, agentInfo.customerId) && + Objects.equals(this.name, agentInfo.name) && + Objects.equals(this.description, agentInfo.description) && + Objects.equals(this.routingKey, agentInfo.routingKey) && + Objects.equals(this.secret, agentInfo.secret) && + Objects.equals(this.agentProfileId, agentInfo.agentProfileId) && + Objects.equals(this.version, agentInfo.version) && + Objects.equals(this.customerTitle, agentInfo.customerTitle) && + Objects.equals(this.customerIsPublic, agentInfo.customerIsPublic) && + Objects.equals(this.agentProfileName, agentInfo.agentProfileName) && + Objects.equals(this.ownerName, agentInfo.ownerName) && + Objects.equals(this.groups, agentInfo.groups) && + Objects.equals(this.active, agentInfo.active) && + Objects.equals(this.agentVersion, agentInfo.agentVersion) && + Objects.equals(this.upgradeTargetImageRef, agentInfo.upgradeTargetImageRef) && + Objects.equals(this.ownerId, agentInfo.ownerId); + } + + @Override + public int hashCode() { + return Objects.hash(id, createdTime, additionalInfo, tenantId, customerId, name, description, routingKey, secret, agentProfileId, version, customerTitle, customerIsPublic, agentProfileName, ownerName, groups, active, agentVersion, upgradeTargetImageRef, ownerId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AgentInfo {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" createdTime: ").append(toIndentedString(createdTime)).append("\n"); + sb.append(" additionalInfo: ").append(toIndentedString(additionalInfo)).append("\n"); + sb.append(" tenantId: ").append(toIndentedString(tenantId)).append("\n"); + sb.append(" customerId: ").append(toIndentedString(customerId)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" routingKey: ").append(toIndentedString(routingKey)).append("\n"); + sb.append(" secret: ").append(toIndentedString(secret)).append("\n"); + sb.append(" agentProfileId: ").append(toIndentedString(agentProfileId)).append("\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append(" customerTitle: ").append(toIndentedString(customerTitle)).append("\n"); + sb.append(" customerIsPublic: ").append(toIndentedString(customerIsPublic)).append("\n"); + sb.append(" agentProfileName: ").append(toIndentedString(agentProfileName)).append("\n"); + sb.append(" ownerName: ").append(toIndentedString(ownerName)).append("\n"); + sb.append(" groups: ").append(toIndentedString(groups)).append("\n"); + sb.append(" active: ").append(toIndentedString(active)).append("\n"); + sb.append(" agentVersion: ").append(toIndentedString(agentVersion)).append("\n"); + sb.append(" upgradeTargetImageRef: ").append(toIndentedString(upgradeTargetImageRef)).append("\n"); + sb.append(" ownerId: ").append(toIndentedString(ownerId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(getId().toUrlQueryString(prefix + "id" + suffix)); + } + + // add `createdTime` to the URL query string + if (getCreatedTime() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%screatedTime%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getCreatedTime())))); + } + + // add `additionalInfo` to the URL query string + if (getAdditionalInfo() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sadditionalInfo%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getAdditionalInfo())))); + } + + // add `tenantId` to the URL query string + if (getTenantId() != null) { + joiner.add(getTenantId().toUrlQueryString(prefix + "tenantId" + suffix)); + } + + // add `customerId` to the URL query string + if (getCustomerId() != null) { + joiner.add(getCustomerId().toUrlQueryString(prefix + "customerId" + suffix)); + } + + // add `name` to the URL query string + if (getName() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sname%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getName())))); + } + + // add `description` to the URL query string + if (getDescription() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sdescription%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getDescription())))); + } + + // add `routingKey` to the URL query string + if (getRoutingKey() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sroutingKey%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getRoutingKey())))); + } + + // add `secret` to the URL query string + if (getSecret() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%ssecret%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getSecret())))); + } + + // add `agentProfileId` to the URL query string + if (getAgentProfileId() != null) { + joiner.add(getAgentProfileId().toUrlQueryString(prefix + "agentProfileId" + suffix)); + } + + // add `version` to the URL query string + if (getVersion() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sversion%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getVersion())))); + } + + // add `customerTitle` to the URL query string + if (getCustomerTitle() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%scustomerTitle%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getCustomerTitle())))); + } + + // add `customerIsPublic` to the URL query string + if (getCustomerIsPublic() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%scustomerIsPublic%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getCustomerIsPublic())))); + } + + // add `agentProfileName` to the URL query string + if (getAgentProfileName() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sagentProfileName%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getAgentProfileName())))); + } + + // add `ownerName` to the URL query string + if (getOwnerName() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sownerName%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getOwnerName())))); + } + + // add `groups` to the URL query string + if (getGroups() != null) { + for (int i = 0; i < getGroups().size(); i++) { + if (getGroups().get(i) != null) { + joiner.add(getGroups().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%sgroups%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); + } + } + } + + // add `active` to the URL query string + if (getActive() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sactive%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getActive())))); + } + + // add `agentVersion` to the URL query string + if (getAgentVersion() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sagentVersion%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getAgentVersion())))); + } + + // add `upgradeTargetImageRef` to the URL query string + if (getUpgradeTargetImageRef() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%supgradeTargetImageRef%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getUpgradeTargetImageRef())))); + } + + // add `ownerId` to the URL query string + if (getOwnerId() != null) { + joiner.add(getOwnerId().toUrlQueryString(prefix + "ownerId" + suffix)); + } + + return joiner.toString(); + } +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentInstructions.java b/pe/src/main/java/org/thingsboard/client/model/AgentInstructions.java new file mode 100644 index 00000000..baf401aa --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentInstructions.java @@ -0,0 +1,155 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * AgentInstructions + */ +@JsonPropertyOrder({ + AgentInstructions.JSON_PROPERTY_INSTRUCTIONS +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class AgentInstructions { + public static final String JSON_PROPERTY_INSTRUCTIONS = "instructions"; + @Nullable + private String instructions; + + public AgentInstructions() { + } + + public AgentInstructions instructions(@Nullable String instructions) { + this.instructions = instructions; + return this; + } + + /** + * Resolved install/provision instructions for the selected method + * @return instructions + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_INSTRUCTIONS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getInstructions() { + return instructions; + } + + + @JsonProperty(value = JSON_PROPERTY_INSTRUCTIONS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setInstructions(@Nullable String instructions) { + this.instructions = instructions; + } + + + /** + * Return true if this AgentInstructions object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AgentInstructions agentInstructions = (AgentInstructions) o; + return Objects.equals(this.instructions, agentInstructions.instructions); + } + + @Override + public int hashCode() { + return Objects.hash(instructions); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AgentInstructions {\n"); + sb.append(" instructions: ").append(toIndentedString(instructions)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `instructions` to the URL query string + if (getInstructions() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sinstructions%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getInstructions())))); + } + + return joiner.toString(); + } +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentPrepareStep.java b/pe/src/main/java/org/thingsboard/client/model/AgentPrepareStep.java new file mode 100644 index 00000000..4e210818 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentPrepareStep.java @@ -0,0 +1,210 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import java.util.UUID; +import org.thingsboard.client.model.AgentAppStep; +import org.thingsboard.client.model.AgentAppStepType; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.JSON; +import org.thingsboard.client.ApiClient; +/** + * AgentPrepareStep + */ +@JsonPropertyOrder({ +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +@JsonIgnoreProperties( + value = "type", // ignore manually set type, it will be automatically generated by Jackson during serialization + allowSetters = true // allows the type to be set during deserialization +) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", visible = true) + +public class AgentPrepareStep extends AgentAppStep { + public AgentPrepareStep() { + } + + @Override + public AgentPrepareStep id(@Nullable UUID id) { + this.setId(id); + return this; + } + + @Override + public AgentPrepareStep nextId(@Nullable UUID nextId) { + this.setNextId(nextId); + return this; + } + + @Override + public AgentPrepareStep title(@Nullable String title) { + this.setTitle(title); + return this; + } + + @Override + public AgentPrepareStep templateOnly(@Nullable Boolean templateOnly) { + this.setTemplateOnly(templateOnly); + return this; + } + + @Override + public AgentPrepareStep condition(@Nullable String condition) { + this.setCondition(condition); + return this; + } + + @Override + public AgentPrepareStep stateful(@Nullable Boolean stateful) { + this.setStateful(stateful); + return this; + } + + /** + * Return true if this AgentPrepareStep object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + return super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AgentPrepareStep {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sid%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getId())))); + } + + // add `nextId` to the URL query string + if (getNextId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%snextId%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getNextId())))); + } + + // add `title` to the URL query string + if (getTitle() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stitle%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTitle())))); + } + + // add `templateOnly` to the URL query string + if (getTemplateOnly() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stemplateOnly%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTemplateOnly())))); + } + + // add `condition` to the URL query string + if (getCondition() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%scondition%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getCondition())))); + } + + // add `stateful` to the URL query string + if (getStateful() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sstateful%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getStateful())))); + } + + // add `type` to the URL query string + if (getType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stype%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getType())))); + } + + return joiner.toString(); + } +static { + // Initialize and register the discriminator mappings. + Map> mappings = new HashMap>(); + mappings.put("AgentPrepareStep", AgentPrepareStep.class); + JSON.registerDiscriminator(AgentPrepareStep.class, "type", mappings); +} +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentProcessingStatus.java b/pe/src/main/java/org/thingsboard/client/model/AgentProcessingStatus.java new file mode 100644 index 00000000..551ceab5 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentProcessingStatus.java @@ -0,0 +1,88 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +/** + * Gets or Sets AgentProcessingStatus + */ +public enum AgentProcessingStatus { + + PENDING("PENDING"), + + QUEUED("QUEUED"), + + PROCESSING("PROCESSING"), + + FINISHED("FINISHED"), + + ERROR("ERROR"), + + START_FAILED("START_FAILED"); + + private String value; + + AgentProcessingStatus(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static AgentProcessingStatus fromValue(String value) { + for (AgentProcessingStatus b : AgentProcessingStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + return String.format(java.util.Locale.ROOT, "%s=%s", prefix, this.toString()); + } + +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentProfile.java b/pe/src/main/java/org/thingsboard/client/model/AgentProfile.java new file mode 100644 index 00000000..9b481c70 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentProfile.java @@ -0,0 +1,473 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import org.thingsboard.client.model.AgentProfileId; +import org.thingsboard.client.model.AgentProvisionType; +import org.thingsboard.client.model.TenantId; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * AgentProfile + */ +@JsonPropertyOrder({ + AgentProfile.JSON_PROPERTY_ID, + AgentProfile.JSON_PROPERTY_CREATED_TIME, + AgentProfile.JSON_PROPERTY_TENANT_ID, + AgentProfile.JSON_PROPERTY_NAME, + AgentProfile.JSON_PROPERTY_DESCRIPTION, + AgentProfile.JSON_PROPERTY_PROVISION_KEY, + AgentProfile.JSON_PROPERTY_PROVISION_SECRET, + AgentProfile.JSON_PROPERTY_PROVISION_TYPE, + AgentProfile.JSON_PROPERTY_VERSION, + AgentProfile.JSON_PROPERTY_DEFAULT +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class AgentProfile { + public static final String JSON_PROPERTY_ID = "id"; + @Nullable + private AgentProfileId id; + + public static final String JSON_PROPERTY_CREATED_TIME = "createdTime"; + @Nullable + private Long createdTime; + + public static final String JSON_PROPERTY_TENANT_ID = "tenantId"; + @Nullable + private TenantId tenantId; + + public static final String JSON_PROPERTY_NAME = "name"; + @Nonnull + private String name; + + public static final String JSON_PROPERTY_DESCRIPTION = "description"; + @Nullable + private String description; + + public static final String JSON_PROPERTY_PROVISION_KEY = "provisionKey"; + @Nullable + private String provisionKey; + + public static final String JSON_PROPERTY_PROVISION_SECRET = "provisionSecret"; + @Nullable + private String provisionSecret; + + public static final String JSON_PROPERTY_PROVISION_TYPE = "provisionType"; + @Nullable + private AgentProvisionType provisionType; + + public static final String JSON_PROPERTY_VERSION = "version"; + @Nullable + private Long version; + + public static final String JSON_PROPERTY_DEFAULT = "default"; + @Nullable + private Boolean _default; + + public AgentProfile() { + } + + @JsonCreator + public AgentProfile( + @JsonProperty(JSON_PROPERTY_CREATED_TIME) Long createdTime, + @JsonProperty(JSON_PROPERTY_TENANT_ID) TenantId tenantId + ) { + this(); + this.createdTime = createdTime; + this.tenantId = tenantId; + } + + public AgentProfile id(@Nullable AgentProfileId id) { + this.id = id; + return this; + } + + /** + * JSON object with the Agent Profile Id. + * @return id + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentProfileId getId() { + return id; + } + + + @JsonProperty(value = JSON_PROPERTY_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setId(@Nullable AgentProfileId id) { + this.id = id; + } + + + /** + * Timestamp of the profile creation, in milliseconds + * @return createdTime + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_CREATED_TIME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getCreatedTime() { + return createdTime; + } + + + + + /** + * JSON object with Tenant Id. + * @return tenantId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TENANT_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public TenantId getTenantId() { + return tenantId; + } + + + + + public AgentProfile name(@Nonnull String name) { + this.name = name; + return this; + } + + /** + * Unique profile name within tenant + * @return name + */ + @Nonnull + @JsonProperty(value = JSON_PROPERTY_NAME, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getName() { + return name; + } + + + @JsonProperty(value = JSON_PROPERTY_NAME, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setName(@Nonnull String name) { + this.name = name; + } + + + public AgentProfile description(@Nullable String description) { + this.description = description; + return this; + } + + /** + * Profile description + * @return description + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_DESCRIPTION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getDescription() { + return description; + } + + + @JsonProperty(value = JSON_PROPERTY_DESCRIPTION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setDescription(@Nullable String description) { + this.description = description; + } + + + public AgentProfile provisionKey(@Nullable String provisionKey) { + this.provisionKey = provisionKey; + return this; + } + + /** + * Provision key for future auto-provisioning + * @return provisionKey + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_PROVISION_KEY, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getProvisionKey() { + return provisionKey; + } + + + @JsonProperty(value = JSON_PROPERTY_PROVISION_KEY, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setProvisionKey(@Nullable String provisionKey) { + this.provisionKey = provisionKey; + } + + + public AgentProfile provisionSecret(@Nullable String provisionSecret) { + this.provisionSecret = provisionSecret; + return this; + } + + /** + * Provision secret for future auto-provisioning + * @return provisionSecret + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_PROVISION_SECRET, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getProvisionSecret() { + return provisionSecret; + } + + + @JsonProperty(value = JSON_PROPERTY_PROVISION_SECRET, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setProvisionSecret(@Nullable String provisionSecret) { + this.provisionSecret = provisionSecret; + } + + + public AgentProfile provisionType(@Nullable AgentProvisionType provisionType) { + this.provisionType = provisionType; + return this; + } + + /** + * Provisioning strategy. DISABLED by default. + * @return provisionType + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_PROVISION_TYPE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentProvisionType getProvisionType() { + return provisionType; + } + + + @JsonProperty(value = JSON_PROPERTY_PROVISION_TYPE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setProvisionType(@Nullable AgentProvisionType provisionType) { + this.provisionType = provisionType; + } + + + public AgentProfile version(@Nullable Long version) { + this.version = version; + return this; + } + + /** + * Get version + * @return version + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_VERSION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getVersion() { + return version; + } + + + @JsonProperty(value = JSON_PROPERTY_VERSION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setVersion(@Nullable Long version) { + this.version = version; + } + + + public AgentProfile _default(@Nullable Boolean _default) { + this._default = _default; + return this; + } + + /** + * Used to mark the default profile that will be assigned to agents when no profile is specified. + * @return _default + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_DEFAULT, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getDefault() { + return _default; + } + + + @JsonProperty(value = JSON_PROPERTY_DEFAULT, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setDefault(@Nullable Boolean _default) { + this._default = _default; + } + + + /** + * Return true if this AgentProfile object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AgentProfile agentProfile = (AgentProfile) o; + return Objects.equals(this.id, agentProfile.id) && + Objects.equals(this.createdTime, agentProfile.createdTime) && + Objects.equals(this.tenantId, agentProfile.tenantId) && + Objects.equals(this.name, agentProfile.name) && + Objects.equals(this.description, agentProfile.description) && + Objects.equals(this.provisionKey, agentProfile.provisionKey) && + Objects.equals(this.provisionSecret, agentProfile.provisionSecret) && + Objects.equals(this.provisionType, agentProfile.provisionType) && + Objects.equals(this.version, agentProfile.version) && + Objects.equals(this._default, agentProfile._default); + } + + @Override + public int hashCode() { + return Objects.hash(id, createdTime, tenantId, name, description, provisionKey, provisionSecret, provisionType, version, _default); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AgentProfile {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" createdTime: ").append(toIndentedString(createdTime)).append("\n"); + sb.append(" tenantId: ").append(toIndentedString(tenantId)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" provisionKey: ").append(toIndentedString(provisionKey)).append("\n"); + sb.append(" provisionSecret: ").append(toIndentedString(provisionSecret)).append("\n"); + sb.append(" provisionType: ").append(toIndentedString(provisionType)).append("\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append(" _default: ").append(toIndentedString(_default)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(getId().toUrlQueryString(prefix + "id" + suffix)); + } + + // add `createdTime` to the URL query string + if (getCreatedTime() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%screatedTime%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getCreatedTime())))); + } + + // add `tenantId` to the URL query string + if (getTenantId() != null) { + joiner.add(getTenantId().toUrlQueryString(prefix + "tenantId" + suffix)); + } + + // add `name` to the URL query string + if (getName() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sname%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getName())))); + } + + // add `description` to the URL query string + if (getDescription() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sdescription%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getDescription())))); + } + + // add `provisionKey` to the URL query string + if (getProvisionKey() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sprovisionKey%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getProvisionKey())))); + } + + // add `provisionSecret` to the URL query string + if (getProvisionSecret() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sprovisionSecret%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getProvisionSecret())))); + } + + // add `provisionType` to the URL query string + if (getProvisionType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sprovisionType%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getProvisionType())))); + } + + // add `version` to the URL query string + if (getVersion() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sversion%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getVersion())))); + } + + // add `default` to the URL query string + if (getDefault() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sdefault%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getDefault())))); + } + + return joiner.toString(); + } +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentProfileId.java b/pe/src/main/java/org/thingsboard/client/model/AgentProfileId.java new file mode 100644 index 00000000..2b6dcd98 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentProfileId.java @@ -0,0 +1,155 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nonnull; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import java.util.UUID; +import org.thingsboard.client.model.EntityId; +import org.thingsboard.client.model.EntityType; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.JSON; +import org.thingsboard.client.ApiClient; +/** + * AgentProfileId + */ +@JsonPropertyOrder({ +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +@JsonIgnoreProperties( + value = "entityType", // ignore manually set entityType, it will be automatically generated by Jackson during serialization + allowSetters = true // allows the entityType to be set during deserialization +) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "entityType", visible = true) + +public class AgentProfileId extends EntityId { + public AgentProfileId() { + } + + @Override + public AgentProfileId id(@Nonnull UUID id) { + this.setId(id); + return this; + } + + /** + * Return true if this AgentProfileId object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + return super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AgentProfileId {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `entityType` to the URL query string + if (getEntityType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sentityType%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getEntityType())))); + } + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sid%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getId())))); + } + + return joiner.toString(); + } +static { + // Initialize and register the discriminator mappings. + Map> mappings = new HashMap>(); + mappings.put("AgentProfileId", AgentProfileId.class); + JSON.registerDiscriminator(AgentProfileId.class, "entityType", mappings); +} +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentProfileInfo.java b/pe/src/main/java/org/thingsboard/client/model/AgentProfileInfo.java new file mode 100644 index 00000000..393e473b --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentProfileInfo.java @@ -0,0 +1,473 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import org.thingsboard.client.model.AgentProfileId; +import org.thingsboard.client.model.AgentProvisionType; +import org.thingsboard.client.model.TenantId; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * AgentProfileInfo + */ +@JsonPropertyOrder({ + AgentProfileInfo.JSON_PROPERTY_ID, + AgentProfileInfo.JSON_PROPERTY_CREATED_TIME, + AgentProfileInfo.JSON_PROPERTY_TENANT_ID, + AgentProfileInfo.JSON_PROPERTY_NAME, + AgentProfileInfo.JSON_PROPERTY_DESCRIPTION, + AgentProfileInfo.JSON_PROPERTY_PROVISION_KEY, + AgentProfileInfo.JSON_PROPERTY_PROVISION_SECRET, + AgentProfileInfo.JSON_PROPERTY_PROVISION_TYPE, + AgentProfileInfo.JSON_PROPERTY_VERSION, + AgentProfileInfo.JSON_PROPERTY_DEFAULT +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class AgentProfileInfo { + public static final String JSON_PROPERTY_ID = "id"; + @Nullable + private AgentProfileId id; + + public static final String JSON_PROPERTY_CREATED_TIME = "createdTime"; + @Nullable + private Long createdTime; + + public static final String JSON_PROPERTY_TENANT_ID = "tenantId"; + @Nullable + private TenantId tenantId; + + public static final String JSON_PROPERTY_NAME = "name"; + @Nonnull + private String name; + + public static final String JSON_PROPERTY_DESCRIPTION = "description"; + @Nullable + private String description; + + public static final String JSON_PROPERTY_PROVISION_KEY = "provisionKey"; + @Nullable + private String provisionKey; + + public static final String JSON_PROPERTY_PROVISION_SECRET = "provisionSecret"; + @Nullable + private String provisionSecret; + + public static final String JSON_PROPERTY_PROVISION_TYPE = "provisionType"; + @Nullable + private AgentProvisionType provisionType; + + public static final String JSON_PROPERTY_VERSION = "version"; + @Nullable + private Long version; + + public static final String JSON_PROPERTY_DEFAULT = "default"; + @Nullable + private Boolean _default; + + public AgentProfileInfo() { + } + + @JsonCreator + public AgentProfileInfo( + @JsonProperty(JSON_PROPERTY_CREATED_TIME) Long createdTime, + @JsonProperty(JSON_PROPERTY_TENANT_ID) TenantId tenantId + ) { + this(); + this.createdTime = createdTime; + this.tenantId = tenantId; + } + + public AgentProfileInfo id(@Nullable AgentProfileId id) { + this.id = id; + return this; + } + + /** + * JSON object with the Agent Profile Id. + * @return id + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentProfileId getId() { + return id; + } + + + @JsonProperty(value = JSON_PROPERTY_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setId(@Nullable AgentProfileId id) { + this.id = id; + } + + + /** + * Timestamp of the profile creation, in milliseconds + * @return createdTime + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_CREATED_TIME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getCreatedTime() { + return createdTime; + } + + + + + /** + * JSON object with Tenant Id. + * @return tenantId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TENANT_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public TenantId getTenantId() { + return tenantId; + } + + + + + public AgentProfileInfo name(@Nonnull String name) { + this.name = name; + return this; + } + + /** + * Unique profile name within tenant + * @return name + */ + @Nonnull + @JsonProperty(value = JSON_PROPERTY_NAME, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getName() { + return name; + } + + + @JsonProperty(value = JSON_PROPERTY_NAME, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setName(@Nonnull String name) { + this.name = name; + } + + + public AgentProfileInfo description(@Nullable String description) { + this.description = description; + return this; + } + + /** + * Profile description + * @return description + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_DESCRIPTION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getDescription() { + return description; + } + + + @JsonProperty(value = JSON_PROPERTY_DESCRIPTION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setDescription(@Nullable String description) { + this.description = description; + } + + + public AgentProfileInfo provisionKey(@Nullable String provisionKey) { + this.provisionKey = provisionKey; + return this; + } + + /** + * Provision key for future auto-provisioning + * @return provisionKey + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_PROVISION_KEY, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getProvisionKey() { + return provisionKey; + } + + + @JsonProperty(value = JSON_PROPERTY_PROVISION_KEY, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setProvisionKey(@Nullable String provisionKey) { + this.provisionKey = provisionKey; + } + + + public AgentProfileInfo provisionSecret(@Nullable String provisionSecret) { + this.provisionSecret = provisionSecret; + return this; + } + + /** + * Provision secret for future auto-provisioning + * @return provisionSecret + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_PROVISION_SECRET, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getProvisionSecret() { + return provisionSecret; + } + + + @JsonProperty(value = JSON_PROPERTY_PROVISION_SECRET, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setProvisionSecret(@Nullable String provisionSecret) { + this.provisionSecret = provisionSecret; + } + + + public AgentProfileInfo provisionType(@Nullable AgentProvisionType provisionType) { + this.provisionType = provisionType; + return this; + } + + /** + * Provisioning strategy. DISABLED by default. + * @return provisionType + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_PROVISION_TYPE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentProvisionType getProvisionType() { + return provisionType; + } + + + @JsonProperty(value = JSON_PROPERTY_PROVISION_TYPE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setProvisionType(@Nullable AgentProvisionType provisionType) { + this.provisionType = provisionType; + } + + + public AgentProfileInfo version(@Nullable Long version) { + this.version = version; + return this; + } + + /** + * Get version + * @return version + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_VERSION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getVersion() { + return version; + } + + + @JsonProperty(value = JSON_PROPERTY_VERSION, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setVersion(@Nullable Long version) { + this.version = version; + } + + + public AgentProfileInfo _default(@Nullable Boolean _default) { + this._default = _default; + return this; + } + + /** + * Used to mark the default profile that will be assigned to agents when no profile is specified. + * @return _default + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_DEFAULT, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getDefault() { + return _default; + } + + + @JsonProperty(value = JSON_PROPERTY_DEFAULT, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setDefault(@Nullable Boolean _default) { + this._default = _default; + } + + + /** + * Return true if this AgentProfileInfo object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AgentProfileInfo agentProfileInfo = (AgentProfileInfo) o; + return Objects.equals(this.id, agentProfileInfo.id) && + Objects.equals(this.createdTime, agentProfileInfo.createdTime) && + Objects.equals(this.tenantId, agentProfileInfo.tenantId) && + Objects.equals(this.name, agentProfileInfo.name) && + Objects.equals(this.description, agentProfileInfo.description) && + Objects.equals(this.provisionKey, agentProfileInfo.provisionKey) && + Objects.equals(this.provisionSecret, agentProfileInfo.provisionSecret) && + Objects.equals(this.provisionType, agentProfileInfo.provisionType) && + Objects.equals(this.version, agentProfileInfo.version) && + Objects.equals(this._default, agentProfileInfo._default); + } + + @Override + public int hashCode() { + return Objects.hash(id, createdTime, tenantId, name, description, provisionKey, provisionSecret, provisionType, version, _default); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AgentProfileInfo {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" createdTime: ").append(toIndentedString(createdTime)).append("\n"); + sb.append(" tenantId: ").append(toIndentedString(tenantId)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" provisionKey: ").append(toIndentedString(provisionKey)).append("\n"); + sb.append(" provisionSecret: ").append(toIndentedString(provisionSecret)).append("\n"); + sb.append(" provisionType: ").append(toIndentedString(provisionType)).append("\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append(" _default: ").append(toIndentedString(_default)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(getId().toUrlQueryString(prefix + "id" + suffix)); + } + + // add `createdTime` to the URL query string + if (getCreatedTime() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%screatedTime%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getCreatedTime())))); + } + + // add `tenantId` to the URL query string + if (getTenantId() != null) { + joiner.add(getTenantId().toUrlQueryString(prefix + "tenantId" + suffix)); + } + + // add `name` to the URL query string + if (getName() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sname%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getName())))); + } + + // add `description` to the URL query string + if (getDescription() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sdescription%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getDescription())))); + } + + // add `provisionKey` to the URL query string + if (getProvisionKey() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sprovisionKey%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getProvisionKey())))); + } + + // add `provisionSecret` to the URL query string + if (getProvisionSecret() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sprovisionSecret%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getProvisionSecret())))); + } + + // add `provisionType` to the URL query string + if (getProvisionType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sprovisionType%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getProvisionType())))); + } + + // add `version` to the URL query string + if (getVersion() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sversion%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getVersion())))); + } + + // add `default` to the URL query string + if (getDefault() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sdefault%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getDefault())))); + } + + return joiner.toString(); + } +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentProvisionType.java b/pe/src/main/java/org/thingsboard/client/model/AgentProvisionType.java new file mode 100644 index 00000000..fb256684 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentProvisionType.java @@ -0,0 +1,84 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +/** + * Gets or Sets AgentProvisionType + */ +public enum AgentProvisionType { + + DISABLED("DISABLED"), + + NO_AUTO_INSTALL("NO_AUTO_INSTALL"), + + AUTO_INSTALL_PER_APP_TYPE("AUTO_INSTALL_PER_APP_TYPE"), + + AUTO_INSTALL_PER_APP_PROFILE("AUTO_INSTALL_PER_APP_PROFILE"); + + private String value; + + AgentProvisionType(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static AgentProvisionType fromValue(String value) { + for (AgentProvisionType b : AgentProvisionType.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + return String.format(java.util.Locale.ROOT, "%s=%s", prefix, this.toString()); + } + +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/AgentUpgradeRequest.java b/pe/src/main/java/org/thingsboard/client/model/AgentUpgradeRequest.java new file mode 100644 index 00000000..42b366ff --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/AgentUpgradeRequest.java @@ -0,0 +1,155 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nonnull; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * AgentUpgradeRequest + */ +@JsonPropertyOrder({ + AgentUpgradeRequest.JSON_PROPERTY_IMAGE_REF +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class AgentUpgradeRequest { + public static final String JSON_PROPERTY_IMAGE_REF = "imageRef"; + @Nonnull + private String imageRef; + + public AgentUpgradeRequest() { + } + + public AgentUpgradeRequest imageRef(@Nonnull String imageRef) { + this.imageRef = imageRef; + return this; + } + + /** + * Target agent image reference — a digest-pinned reference in production, or a tag. + * @return imageRef + */ + @Nonnull + @JsonProperty(value = JSON_PROPERTY_IMAGE_REF, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getImageRef() { + return imageRef; + } + + + @JsonProperty(value = JSON_PROPERTY_IMAGE_REF, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setImageRef(@Nonnull String imageRef) { + this.imageRef = imageRef; + } + + + /** + * Return true if this AgentUpgradeRequest object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AgentUpgradeRequest agentUpgradeRequest = (AgentUpgradeRequest) o; + return Objects.equals(this.imageRef, agentUpgradeRequest.imageRef); + } + + @Override + public int hashCode() { + return Objects.hash(imageRef); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AgentUpgradeRequest {\n"); + sb.append(" imageRef: ").append(toIndentedString(imageRef)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `imageRef` to the URL query string + if (getImageRef() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%simageRef%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getImageRef())))); + } + + return joiner.toString(); + } +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/BackupVolumesRemoveStep.java b/pe/src/main/java/org/thingsboard/client/model/BackupVolumesRemoveStep.java new file mode 100644 index 00000000..08352d7f --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/BackupVolumesRemoveStep.java @@ -0,0 +1,210 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import java.util.UUID; +import org.thingsboard.client.model.AgentAppStep; +import org.thingsboard.client.model.AgentAppStepType; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.JSON; +import org.thingsboard.client.ApiClient; +/** + * BackupVolumesRemoveStep + */ +@JsonPropertyOrder({ +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +@JsonIgnoreProperties( + value = "type", // ignore manually set type, it will be automatically generated by Jackson during serialization + allowSetters = true // allows the type to be set during deserialization +) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", visible = true) + +public class BackupVolumesRemoveStep extends AgentAppStep { + public BackupVolumesRemoveStep() { + } + + @Override + public BackupVolumesRemoveStep id(@Nullable UUID id) { + this.setId(id); + return this; + } + + @Override + public BackupVolumesRemoveStep nextId(@Nullable UUID nextId) { + this.setNextId(nextId); + return this; + } + + @Override + public BackupVolumesRemoveStep title(@Nullable String title) { + this.setTitle(title); + return this; + } + + @Override + public BackupVolumesRemoveStep templateOnly(@Nullable Boolean templateOnly) { + this.setTemplateOnly(templateOnly); + return this; + } + + @Override + public BackupVolumesRemoveStep condition(@Nullable String condition) { + this.setCondition(condition); + return this; + } + + @Override + public BackupVolumesRemoveStep stateful(@Nullable Boolean stateful) { + this.setStateful(stateful); + return this; + } + + /** + * Return true if this BackupVolumesRemoveStep object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + return super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BackupVolumesRemoveStep {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sid%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getId())))); + } + + // add `nextId` to the URL query string + if (getNextId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%snextId%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getNextId())))); + } + + // add `title` to the URL query string + if (getTitle() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stitle%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTitle())))); + } + + // add `templateOnly` to the URL query string + if (getTemplateOnly() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stemplateOnly%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTemplateOnly())))); + } + + // add `condition` to the URL query string + if (getCondition() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%scondition%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getCondition())))); + } + + // add `stateful` to the URL query string + if (getStateful() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sstateful%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getStateful())))); + } + + // add `type` to the URL query string + if (getType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stype%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getType())))); + } + + return joiner.toString(); + } +static { + // Initialize and register the discriminator mappings. + Map> mappings = new HashMap>(); + mappings.put("BackupVolumesRemoveStep", BackupVolumesRemoveStep.class); + JSON.registerDiscriminator(BackupVolumesRemoveStep.class, "type", mappings); +} +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/BackupVolumesStep.java b/pe/src/main/java/org/thingsboard/client/model/BackupVolumesStep.java new file mode 100644 index 00000000..055c827b --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/BackupVolumesStep.java @@ -0,0 +1,248 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import java.util.UUID; +import org.thingsboard.client.model.AgentAppStep; +import org.thingsboard.client.model.AgentAppStepType; +import org.thingsboard.client.model.BackupVolumesStepState; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.JSON; +import org.thingsboard.client.ApiClient; +/** + * BackupVolumesStep + */ +@JsonPropertyOrder({ + BackupVolumesStep.JSON_PROPERTY_STATE +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +@JsonIgnoreProperties( + value = "type", // ignore manually set type, it will be automatically generated by Jackson during serialization + allowSetters = true // allows the type to be set during deserialization +) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", visible = true) + +public class BackupVolumesStep extends AgentAppStep { + public static final String JSON_PROPERTY_STATE = "state"; + @Nullable + private BackupVolumesStepState state; + + public BackupVolumesStep() { + } + + public BackupVolumesStep state(@Nullable BackupVolumesStepState state) { + this.state = state; + return this; + } + + /** + * Get state + * @return state + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_STATE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public BackupVolumesStepState getState() { + return state; + } + + + @JsonProperty(value = JSON_PROPERTY_STATE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setState(@Nullable BackupVolumesStepState state) { + this.state = state; + } + + + @Override + public BackupVolumesStep id(@Nullable UUID id) { + this.setId(id); + return this; + } + + @Override + public BackupVolumesStep nextId(@Nullable UUID nextId) { + this.setNextId(nextId); + return this; + } + + @Override + public BackupVolumesStep title(@Nullable String title) { + this.setTitle(title); + return this; + } + + @Override + public BackupVolumesStep templateOnly(@Nullable Boolean templateOnly) { + this.setTemplateOnly(templateOnly); + return this; + } + + @Override + public BackupVolumesStep condition(@Nullable String condition) { + this.setCondition(condition); + return this; + } + + @Override + public BackupVolumesStep stateful(@Nullable Boolean stateful) { + this.setStateful(stateful); + return this; + } + + /** + * Return true if this BackupVolumesStep object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BackupVolumesStep backupVolumesStep = (BackupVolumesStep) o; + return Objects.equals(this.state, backupVolumesStep.state) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(state, super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BackupVolumesStep {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append(" state: ").append(toIndentedString(state)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sid%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getId())))); + } + + // add `nextId` to the URL query string + if (getNextId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%snextId%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getNextId())))); + } + + // add `title` to the URL query string + if (getTitle() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stitle%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTitle())))); + } + + // add `templateOnly` to the URL query string + if (getTemplateOnly() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stemplateOnly%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTemplateOnly())))); + } + + // add `condition` to the URL query string + if (getCondition() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%scondition%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getCondition())))); + } + + // add `stateful` to the URL query string + if (getStateful() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sstateful%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getStateful())))); + } + + // add `type` to the URL query string + if (getType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stype%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getType())))); + } + + // add `state` to the URL query string + if (getState() != null) { + joiner.add(getState().toUrlQueryString(prefix + "state" + suffix)); + } + + return joiner.toString(); + } +static { + // Initialize and register the discriminator mappings. + Map> mappings = new HashMap>(); + mappings.put("BackupVolumesStep", BackupVolumesStep.class); + JSON.registerDiscriminator(BackupVolumesStep.class, "type", mappings); +} +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/BackupVolumesStepState.java b/pe/src/main/java/org/thingsboard/client/model/BackupVolumesStepState.java new file mode 100644 index 00000000..18752db0 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/BackupVolumesStepState.java @@ -0,0 +1,181 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import org.thingsboard.client.model.AgentAppStepState; +import org.thingsboard.client.model.AgentAppStepType; +import org.thingsboard.client.model.StepFieldListString; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.JSON; +import org.thingsboard.client.ApiClient; +/** + * BackupVolumesStepState + */ +@JsonPropertyOrder({ + BackupVolumesStepState.JSON_PROPERTY_BACKUP_VOLUMES +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +@JsonIgnoreProperties( + value = "type", // ignore manually set type, it will be automatically generated by Jackson during serialization + allowSetters = true // allows the type to be set during deserialization +) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", visible = true) + +public class BackupVolumesStepState extends AgentAppStepState { + public static final String JSON_PROPERTY_BACKUP_VOLUMES = "backupVolumes"; + @Nullable + private StepFieldListString backupVolumes; + + public BackupVolumesStepState() { + } + + public BackupVolumesStepState backupVolumes(@Nullable StepFieldListString backupVolumes) { + this.backupVolumes = backupVolumes; + return this; + } + + /** + * Get backupVolumes + * @return backupVolumes + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_BACKUP_VOLUMES, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public StepFieldListString getBackupVolumes() { + return backupVolumes; + } + + + @JsonProperty(value = JSON_PROPERTY_BACKUP_VOLUMES, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setBackupVolumes(@Nullable StepFieldListString backupVolumes) { + this.backupVolumes = backupVolumes; + } + + + /** + * Return true if this BackupVolumesStepState object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BackupVolumesStepState backupVolumesStepState = (BackupVolumesStepState) o; + return Objects.equals(this.backupVolumes, backupVolumesStepState.backupVolumes) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(backupVolumes, super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BackupVolumesStepState {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append(" backupVolumes: ").append(toIndentedString(backupVolumes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `type` to the URL query string + if (getType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stype%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getType())))); + } + + // add `backupVolumes` to the URL query string + if (getBackupVolumes() != null) { + joiner.add(getBackupVolumes().toUrlQueryString(prefix + "backupVolumes" + suffix)); + } + + return joiner.toString(); + } +static { + // Initialize and register the discriminator mappings. + Map> mappings = new HashMap>(); + mappings.put("BackupVolumesStepState", BackupVolumesStepState.class); + JSON.registerDiscriminator(BackupVolumesStepState.class, "type", mappings); +} +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/BulkOperationPreview.java b/pe/src/main/java/org/thingsboard/client/model/BulkOperationPreview.java new file mode 100644 index 00000000..86c0f30a --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/BulkOperationPreview.java @@ -0,0 +1,293 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import org.thingsboard.client.model.SkippedApp; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * BulkOperationPreview + */ +@JsonPropertyOrder({ + BulkOperationPreview.JSON_PROPERTY_TOTAL, + BulkOperationPreview.JSON_PROPERTY_ELIGIBLE, + BulkOperationPreview.JSON_PROPERTY_SKIPPED_COUNTS_BY_REASON, + BulkOperationPreview.JSON_PROPERTY_SKIPPED_SAMPLE +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class BulkOperationPreview { + public static final String JSON_PROPERTY_TOTAL = "total"; + @Nullable + private Integer total; + + public static final String JSON_PROPERTY_ELIGIBLE = "eligible"; + @Nullable + private Integer eligible; + + public static final String JSON_PROPERTY_SKIPPED_COUNTS_BY_REASON = "skippedCountsByReason"; + @Nullable + private Map skippedCountsByReason = new HashMap<>(); + + public static final String JSON_PROPERTY_SKIPPED_SAMPLE = "skippedSample"; + @Nullable + private List skippedSample = new ArrayList<>(); + + public BulkOperationPreview() { + } + + public BulkOperationPreview total(@Nullable Integer total) { + this.total = total; + return this; + } + + /** + * Total number of apps targeted by the bulk operation + * @return total + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TOTAL, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Integer getTotal() { + return total; + } + + + @JsonProperty(value = JSON_PROPERTY_TOTAL, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setTotal(@Nullable Integer total) { + this.total = total; + } + + + public BulkOperationPreview eligible(@Nullable Integer eligible) { + this.eligible = eligible; + return this; + } + + /** + * Number of apps that would be submitted (total minus skipped) + * @return eligible + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_ELIGIBLE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Integer getEligible() { + return eligible; + } + + + @JsonProperty(value = JSON_PROPERTY_ELIGIBLE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setEligible(@Nullable Integer eligible) { + this.eligible = eligible; + } + + + public BulkOperationPreview skippedCountsByReason(@Nullable Map skippedCountsByReason) { + this.skippedCountsByReason = skippedCountsByReason; + return this; + } + + public BulkOperationPreview putSkippedCountsByReasonItem(String key, Integer skippedCountsByReasonItem) { + if (this.skippedCountsByReason == null) { + this.skippedCountsByReason = new HashMap<>(); + } + this.skippedCountsByReason.put(key, skippedCountsByReasonItem); + return this; + } + + /** + * Skip count per reason for the targeted apps + * @return skippedCountsByReason + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_SKIPPED_COUNTS_BY_REASON, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Map getSkippedCountsByReason() { + return skippedCountsByReason; + } + + + @JsonProperty(value = JSON_PROPERTY_SKIPPED_COUNTS_BY_REASON, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setSkippedCountsByReason(@Nullable Map skippedCountsByReason) { + this.skippedCountsByReason = skippedCountsByReason; + } + + + public BulkOperationPreview skippedSample(@Nullable List skippedSample) { + this.skippedSample = skippedSample; + return this; + } + + public BulkOperationPreview addSkippedSampleItem(SkippedApp skippedSampleItem) { + if (this.skippedSample == null) { + this.skippedSample = new ArrayList<>(); + } + this.skippedSample.add(skippedSampleItem); + return this; + } + + /** + * Sample of skipped apps, capped per reason. Use the run history to inspect the full list. + * @return skippedSample + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_SKIPPED_SAMPLE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getSkippedSample() { + return skippedSample; + } + + + @JsonProperty(value = JSON_PROPERTY_SKIPPED_SAMPLE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setSkippedSample(@Nullable List skippedSample) { + this.skippedSample = skippedSample; + } + + + /** + * Return true if this BulkOperationPreview object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BulkOperationPreview bulkOperationPreview = (BulkOperationPreview) o; + return Objects.equals(this.total, bulkOperationPreview.total) && + Objects.equals(this.eligible, bulkOperationPreview.eligible) && + Objects.equals(this.skippedCountsByReason, bulkOperationPreview.skippedCountsByReason) && + Objects.equals(this.skippedSample, bulkOperationPreview.skippedSample); + } + + @Override + public int hashCode() { + return Objects.hash(total, eligible, skippedCountsByReason, skippedSample); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BulkOperationPreview {\n"); + sb.append(" total: ").append(toIndentedString(total)).append("\n"); + sb.append(" eligible: ").append(toIndentedString(eligible)).append("\n"); + sb.append(" skippedCountsByReason: ").append(toIndentedString(skippedCountsByReason)).append("\n"); + sb.append(" skippedSample: ").append(toIndentedString(skippedSample)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `total` to the URL query string + if (getTotal() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stotal%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTotal())))); + } + + // add `eligible` to the URL query string + if (getEligible() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%seligible%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getEligible())))); + } + + // add `skippedCountsByReason` to the URL query string + if (getSkippedCountsByReason() != null) { + for (String _key : getSkippedCountsByReason().keySet()) { + joiner.add(String.format(java.util.Locale.ROOT, "%sskippedCountsByReason%s%s=%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, _key, containerSuffix), + getSkippedCountsByReason().get(_key), ApiClient.urlEncode(ApiClient.valueToString(getSkippedCountsByReason().get(_key))))); + } + } + + // add `skippedSample` to the URL query string + if (getSkippedSample() != null) { + for (int i = 0; i < getSkippedSample().size(); i++) { + if (getSkippedSample().get(i) != null) { + joiner.add(getSkippedSample().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%sskippedSample%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); + } + } + } + + return joiner.toString(); + } +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/BulkOperationRequest.java b/pe/src/main/java/org/thingsboard/client/model/BulkOperationRequest.java new file mode 100644 index 00000000..7ad916ac --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/BulkOperationRequest.java @@ -0,0 +1,208 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; +import org.thingsboard.client.model.AgentAppEventActionType; +import org.thingsboard.client.model.AgentAppEventStepStatesValue; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * BulkOperationRequest + */ +@JsonPropertyOrder({ + BulkOperationRequest.JSON_PROPERTY_ACTION_TYPE, + BulkOperationRequest.JSON_PROPERTY_STEP_INPUTS +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class BulkOperationRequest { + public static final String JSON_PROPERTY_ACTION_TYPE = "actionType"; + @Nullable + private AgentAppEventActionType actionType; + + public static final String JSON_PROPERTY_STEP_INPUTS = "stepInputs"; + @Nullable + private Map stepInputs = new HashMap<>(); + + public BulkOperationRequest() { + } + + public BulkOperationRequest actionType(@Nullable AgentAppEventActionType actionType) { + this.actionType = actionType; + return this; + } + + /** + * Get actionType + * @return actionType + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_ACTION_TYPE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentAppEventActionType getActionType() { + return actionType; + } + + + @JsonProperty(value = JSON_PROPERTY_ACTION_TYPE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setActionType(@Nullable AgentAppEventActionType actionType) { + this.actionType = actionType; + } + + + public BulkOperationRequest stepInputs(@Nullable Map stepInputs) { + this.stepInputs = stepInputs; + return this; + } + + public BulkOperationRequest putStepInputsItem(String key, AgentAppEventStepStatesValue stepInputsItem) { + if (this.stepInputs == null) { + this.stepInputs = new HashMap<>(); + } + this.stepInputs.put(key, stepInputsItem); + return this; + } + + /** + * Get stepInputs + * @return stepInputs + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_STEP_INPUTS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Map getStepInputs() { + return stepInputs; + } + + + @JsonProperty(value = JSON_PROPERTY_STEP_INPUTS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setStepInputs(@Nullable Map stepInputs) { + this.stepInputs = stepInputs; + } + + + /** + * Return true if this BulkOperationRequest object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BulkOperationRequest bulkOperationRequest = (BulkOperationRequest) o; + return Objects.equals(this.actionType, bulkOperationRequest.actionType) && + Objects.equals(this.stepInputs, bulkOperationRequest.stepInputs); + } + + @Override + public int hashCode() { + return Objects.hash(actionType, stepInputs); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BulkOperationRequest {\n"); + sb.append(" actionType: ").append(toIndentedString(actionType)).append("\n"); + sb.append(" stepInputs: ").append(toIndentedString(stepInputs)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `actionType` to the URL query string + if (getActionType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sactionType%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getActionType())))); + } + + // add `stepInputs` to the URL query string + if (getStepInputs() != null) { + for (String _key : getStepInputs().keySet()) { + if (getStepInputs().get(_key) != null) { + joiner.add(getStepInputs().get(_key).toUrlQueryString(String.format(java.util.Locale.ROOT, "%sstepInputs%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, _key, containerSuffix)))); + } + } + } + + return joiner.toString(); + } +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/ComposeDownStep.java b/pe/src/main/java/org/thingsboard/client/model/ComposeDownStep.java new file mode 100644 index 00000000..3487925f --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/ComposeDownStep.java @@ -0,0 +1,248 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import java.util.UUID; +import org.thingsboard.client.model.AgentAppStep; +import org.thingsboard.client.model.AgentAppStepType; +import org.thingsboard.client.model.ComposeDownStepState; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.JSON; +import org.thingsboard.client.ApiClient; +/** + * ComposeDownStep + */ +@JsonPropertyOrder({ + ComposeDownStep.JSON_PROPERTY_STATE +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +@JsonIgnoreProperties( + value = "type", // ignore manually set type, it will be automatically generated by Jackson during serialization + allowSetters = true // allows the type to be set during deserialization +) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", visible = true) + +public class ComposeDownStep extends AgentAppStep { + public static final String JSON_PROPERTY_STATE = "state"; + @Nullable + private ComposeDownStepState state; + + public ComposeDownStep() { + } + + public ComposeDownStep state(@Nullable ComposeDownStepState state) { + this.state = state; + return this; + } + + /** + * Get state + * @return state + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_STATE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ComposeDownStepState getState() { + return state; + } + + + @JsonProperty(value = JSON_PROPERTY_STATE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setState(@Nullable ComposeDownStepState state) { + this.state = state; + } + + + @Override + public ComposeDownStep id(@Nullable UUID id) { + this.setId(id); + return this; + } + + @Override + public ComposeDownStep nextId(@Nullable UUID nextId) { + this.setNextId(nextId); + return this; + } + + @Override + public ComposeDownStep title(@Nullable String title) { + this.setTitle(title); + return this; + } + + @Override + public ComposeDownStep templateOnly(@Nullable Boolean templateOnly) { + this.setTemplateOnly(templateOnly); + return this; + } + + @Override + public ComposeDownStep condition(@Nullable String condition) { + this.setCondition(condition); + return this; + } + + @Override + public ComposeDownStep stateful(@Nullable Boolean stateful) { + this.setStateful(stateful); + return this; + } + + /** + * Return true if this ComposeDownStep object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ComposeDownStep composeDownStep = (ComposeDownStep) o; + return Objects.equals(this.state, composeDownStep.state) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(state, super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ComposeDownStep {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append(" state: ").append(toIndentedString(state)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sid%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getId())))); + } + + // add `nextId` to the URL query string + if (getNextId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%snextId%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getNextId())))); + } + + // add `title` to the URL query string + if (getTitle() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stitle%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTitle())))); + } + + // add `templateOnly` to the URL query string + if (getTemplateOnly() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stemplateOnly%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTemplateOnly())))); + } + + // add `condition` to the URL query string + if (getCondition() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%scondition%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getCondition())))); + } + + // add `stateful` to the URL query string + if (getStateful() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sstateful%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getStateful())))); + } + + // add `type` to the URL query string + if (getType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stype%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getType())))); + } + + // add `state` to the URL query string + if (getState() != null) { + joiner.add(getState().toUrlQueryString(prefix + "state" + suffix)); + } + + return joiner.toString(); + } +static { + // Initialize and register the discriminator mappings. + Map> mappings = new HashMap>(); + mappings.put("ComposeDownStep", ComposeDownStep.class); + JSON.registerDiscriminator(ComposeDownStep.class, "type", mappings); +} +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/ComposeDownStepState.java b/pe/src/main/java/org/thingsboard/client/model/ComposeDownStepState.java new file mode 100644 index 00000000..ff0f115d --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/ComposeDownStepState.java @@ -0,0 +1,218 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import org.thingsboard.client.model.AgentAppStepState; +import org.thingsboard.client.model.AgentAppStepType; +import org.thingsboard.client.model.StepFieldBoolean; +import org.thingsboard.client.model.StepFieldListString; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.JSON; +import org.thingsboard.client.ApiClient; +/** + * ComposeDownStepState + */ +@JsonPropertyOrder({ + ComposeDownStepState.JSON_PROPERTY_SERVICE_IMAGE_REGEX_PATTERNS, + ComposeDownStepState.JSON_PROPERTY_REMOVE_VOLUMES +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +@JsonIgnoreProperties( + value = "type", // ignore manually set type, it will be automatically generated by Jackson during serialization + allowSetters = true // allows the type to be set during deserialization +) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", visible = true) + +public class ComposeDownStepState extends AgentAppStepState { + public static final String JSON_PROPERTY_SERVICE_IMAGE_REGEX_PATTERNS = "serviceImageRegexPatterns"; + @Nullable + private StepFieldListString serviceImageRegexPatterns; + + public static final String JSON_PROPERTY_REMOVE_VOLUMES = "removeVolumes"; + @Nullable + private StepFieldBoolean removeVolumes; + + public ComposeDownStepState() { + } + + public ComposeDownStepState serviceImageRegexPatterns(@Nullable StepFieldListString serviceImageRegexPatterns) { + this.serviceImageRegexPatterns = serviceImageRegexPatterns; + return this; + } + + /** + * Get serviceImageRegexPatterns + * @return serviceImageRegexPatterns + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_SERVICE_IMAGE_REGEX_PATTERNS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public StepFieldListString getServiceImageRegexPatterns() { + return serviceImageRegexPatterns; + } + + + @JsonProperty(value = JSON_PROPERTY_SERVICE_IMAGE_REGEX_PATTERNS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setServiceImageRegexPatterns(@Nullable StepFieldListString serviceImageRegexPatterns) { + this.serviceImageRegexPatterns = serviceImageRegexPatterns; + } + + + public ComposeDownStepState removeVolumes(@Nullable StepFieldBoolean removeVolumes) { + this.removeVolumes = removeVolumes; + return this; + } + + /** + * Get removeVolumes + * @return removeVolumes + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_REMOVE_VOLUMES, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public StepFieldBoolean getRemoveVolumes() { + return removeVolumes; + } + + + @JsonProperty(value = JSON_PROPERTY_REMOVE_VOLUMES, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setRemoveVolumes(@Nullable StepFieldBoolean removeVolumes) { + this.removeVolumes = removeVolumes; + } + + + /** + * Return true if this ComposeDownStepState object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ComposeDownStepState composeDownStepState = (ComposeDownStepState) o; + return Objects.equals(this.serviceImageRegexPatterns, composeDownStepState.serviceImageRegexPatterns) && + Objects.equals(this.removeVolumes, composeDownStepState.removeVolumes) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(serviceImageRegexPatterns, removeVolumes, super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ComposeDownStepState {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append(" serviceImageRegexPatterns: ").append(toIndentedString(serviceImageRegexPatterns)).append("\n"); + sb.append(" removeVolumes: ").append(toIndentedString(removeVolumes)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `type` to the URL query string + if (getType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stype%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getType())))); + } + + // add `serviceImageRegexPatterns` to the URL query string + if (getServiceImageRegexPatterns() != null) { + joiner.add(getServiceImageRegexPatterns().toUrlQueryString(prefix + "serviceImageRegexPatterns" + suffix)); + } + + // add `removeVolumes` to the URL query string + if (getRemoveVolumes() != null) { + joiner.add(getRemoveVolumes().toUrlQueryString(prefix + "removeVolumes" + suffix)); + } + + return joiner.toString(); + } +static { + // Initialize and register the discriminator mappings. + Map> mappings = new HashMap>(); + mappings.put("ComposeDownStepState", ComposeDownStepState.class); + JSON.registerDiscriminator(ComposeDownStepState.class, "type", mappings); +} +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/ComposeRestartStep.java b/pe/src/main/java/org/thingsboard/client/model/ComposeRestartStep.java new file mode 100644 index 00000000..313069ee --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/ComposeRestartStep.java @@ -0,0 +1,210 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import java.util.UUID; +import org.thingsboard.client.model.AgentAppStep; +import org.thingsboard.client.model.AgentAppStepType; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.JSON; +import org.thingsboard.client.ApiClient; +/** + * ComposeRestartStep + */ +@JsonPropertyOrder({ +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +@JsonIgnoreProperties( + value = "type", // ignore manually set type, it will be automatically generated by Jackson during serialization + allowSetters = true // allows the type to be set during deserialization +) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", visible = true) + +public class ComposeRestartStep extends AgentAppStep { + public ComposeRestartStep() { + } + + @Override + public ComposeRestartStep id(@Nullable UUID id) { + this.setId(id); + return this; + } + + @Override + public ComposeRestartStep nextId(@Nullable UUID nextId) { + this.setNextId(nextId); + return this; + } + + @Override + public ComposeRestartStep title(@Nullable String title) { + this.setTitle(title); + return this; + } + + @Override + public ComposeRestartStep templateOnly(@Nullable Boolean templateOnly) { + this.setTemplateOnly(templateOnly); + return this; + } + + @Override + public ComposeRestartStep condition(@Nullable String condition) { + this.setCondition(condition); + return this; + } + + @Override + public ComposeRestartStep stateful(@Nullable Boolean stateful) { + this.setStateful(stateful); + return this; + } + + /** + * Return true if this ComposeRestartStep object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + return super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ComposeRestartStep {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sid%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getId())))); + } + + // add `nextId` to the URL query string + if (getNextId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%snextId%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getNextId())))); + } + + // add `title` to the URL query string + if (getTitle() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stitle%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTitle())))); + } + + // add `templateOnly` to the URL query string + if (getTemplateOnly() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stemplateOnly%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTemplateOnly())))); + } + + // add `condition` to the URL query string + if (getCondition() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%scondition%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getCondition())))); + } + + // add `stateful` to the URL query string + if (getStateful() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sstateful%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getStateful())))); + } + + // add `type` to the URL query string + if (getType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stype%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getType())))); + } + + return joiner.toString(); + } +static { + // Initialize and register the discriminator mappings. + Map> mappings = new HashMap>(); + mappings.put("ComposeRestartStep", ComposeRestartStep.class); + JSON.registerDiscriminator(ComposeRestartStep.class, "type", mappings); +} +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/ComposeStartStep.java b/pe/src/main/java/org/thingsboard/client/model/ComposeStartStep.java new file mode 100644 index 00000000..b59098b6 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/ComposeStartStep.java @@ -0,0 +1,210 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import java.util.UUID; +import org.thingsboard.client.model.AgentAppStep; +import org.thingsboard.client.model.AgentAppStepType; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.JSON; +import org.thingsboard.client.ApiClient; +/** + * ComposeStartStep + */ +@JsonPropertyOrder({ +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +@JsonIgnoreProperties( + value = "type", // ignore manually set type, it will be automatically generated by Jackson during serialization + allowSetters = true // allows the type to be set during deserialization +) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", visible = true) + +public class ComposeStartStep extends AgentAppStep { + public ComposeStartStep() { + } + + @Override + public ComposeStartStep id(@Nullable UUID id) { + this.setId(id); + return this; + } + + @Override + public ComposeStartStep nextId(@Nullable UUID nextId) { + this.setNextId(nextId); + return this; + } + + @Override + public ComposeStartStep title(@Nullable String title) { + this.setTitle(title); + return this; + } + + @Override + public ComposeStartStep templateOnly(@Nullable Boolean templateOnly) { + this.setTemplateOnly(templateOnly); + return this; + } + + @Override + public ComposeStartStep condition(@Nullable String condition) { + this.setCondition(condition); + return this; + } + + @Override + public ComposeStartStep stateful(@Nullable Boolean stateful) { + this.setStateful(stateful); + return this; + } + + /** + * Return true if this ComposeStartStep object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + return super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ComposeStartStep {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sid%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getId())))); + } + + // add `nextId` to the URL query string + if (getNextId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%snextId%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getNextId())))); + } + + // add `title` to the URL query string + if (getTitle() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stitle%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTitle())))); + } + + // add `templateOnly` to the URL query string + if (getTemplateOnly() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stemplateOnly%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTemplateOnly())))); + } + + // add `condition` to the URL query string + if (getCondition() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%scondition%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getCondition())))); + } + + // add `stateful` to the URL query string + if (getStateful() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sstateful%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getStateful())))); + } + + // add `type` to the URL query string + if (getType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stype%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getType())))); + } + + return joiner.toString(); + } +static { + // Initialize and register the discriminator mappings. + Map> mappings = new HashMap>(); + mappings.put("ComposeStartStep", ComposeStartStep.class); + JSON.registerDiscriminator(ComposeStartStep.class, "type", mappings); +} +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/ComposeStep.java b/pe/src/main/java/org/thingsboard/client/model/ComposeStep.java new file mode 100644 index 00000000..8bdcea2d --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/ComposeStep.java @@ -0,0 +1,248 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import java.util.UUID; +import org.thingsboard.client.model.AgentAppStep; +import org.thingsboard.client.model.AgentAppStepType; +import org.thingsboard.client.model.ComposeStepState; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.JSON; +import org.thingsboard.client.ApiClient; +/** + * ComposeStep + */ +@JsonPropertyOrder({ + ComposeStep.JSON_PROPERTY_STATE +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +@JsonIgnoreProperties( + value = "type", // ignore manually set type, it will be automatically generated by Jackson during serialization + allowSetters = true // allows the type to be set during deserialization +) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", visible = true) + +public class ComposeStep extends AgentAppStep { + public static final String JSON_PROPERTY_STATE = "state"; + @Nullable + private ComposeStepState state; + + public ComposeStep() { + } + + public ComposeStep state(@Nullable ComposeStepState state) { + this.state = state; + return this; + } + + /** + * Get state + * @return state + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_STATE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ComposeStepState getState() { + return state; + } + + + @JsonProperty(value = JSON_PROPERTY_STATE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setState(@Nullable ComposeStepState state) { + this.state = state; + } + + + @Override + public ComposeStep id(@Nullable UUID id) { + this.setId(id); + return this; + } + + @Override + public ComposeStep nextId(@Nullable UUID nextId) { + this.setNextId(nextId); + return this; + } + + @Override + public ComposeStep title(@Nullable String title) { + this.setTitle(title); + return this; + } + + @Override + public ComposeStep templateOnly(@Nullable Boolean templateOnly) { + this.setTemplateOnly(templateOnly); + return this; + } + + @Override + public ComposeStep condition(@Nullable String condition) { + this.setCondition(condition); + return this; + } + + @Override + public ComposeStep stateful(@Nullable Boolean stateful) { + this.setStateful(stateful); + return this; + } + + /** + * Return true if this ComposeStep object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ComposeStep composeStep = (ComposeStep) o; + return Objects.equals(this.state, composeStep.state) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(state, super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ComposeStep {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append(" state: ").append(toIndentedString(state)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sid%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getId())))); + } + + // add `nextId` to the URL query string + if (getNextId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%snextId%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getNextId())))); + } + + // add `title` to the URL query string + if (getTitle() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stitle%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTitle())))); + } + + // add `templateOnly` to the URL query string + if (getTemplateOnly() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stemplateOnly%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTemplateOnly())))); + } + + // add `condition` to the URL query string + if (getCondition() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%scondition%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getCondition())))); + } + + // add `stateful` to the URL query string + if (getStateful() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sstateful%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getStateful())))); + } + + // add `type` to the URL query string + if (getType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stype%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getType())))); + } + + // add `state` to the URL query string + if (getState() != null) { + joiner.add(getState().toUrlQueryString(prefix + "state" + suffix)); + } + + return joiner.toString(); + } +static { + // Initialize and register the discriminator mappings. + Map> mappings = new HashMap>(); + mappings.put("ComposeStep", ComposeStep.class); + JSON.registerDiscriminator(ComposeStep.class, "type", mappings); +} +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/ComposeStepState.java b/pe/src/main/java/org/thingsboard/client/model/ComposeStepState.java new file mode 100644 index 00000000..7267b232 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/ComposeStepState.java @@ -0,0 +1,218 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import org.thingsboard.client.model.AgentAppStepState; +import org.thingsboard.client.model.AgentAppStepType; +import org.thingsboard.client.model.StepFieldBoolean; +import org.thingsboard.client.model.StepFieldListString; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.JSON; +import org.thingsboard.client.ApiClient; +/** + * ComposeStepState + */ +@JsonPropertyOrder({ + ComposeStepState.JSON_PROPERTY_SERVICE_IMAGE_REGEX_PATTERNS, + ComposeStepState.JSON_PROPERTY_PULL_IMAGES +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +@JsonIgnoreProperties( + value = "type", // ignore manually set type, it will be automatically generated by Jackson during serialization + allowSetters = true // allows the type to be set during deserialization +) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", visible = true) + +public class ComposeStepState extends AgentAppStepState { + public static final String JSON_PROPERTY_SERVICE_IMAGE_REGEX_PATTERNS = "serviceImageRegexPatterns"; + @Nullable + private StepFieldListString serviceImageRegexPatterns; + + public static final String JSON_PROPERTY_PULL_IMAGES = "pullImages"; + @Nullable + private StepFieldBoolean pullImages; + + public ComposeStepState() { + } + + public ComposeStepState serviceImageRegexPatterns(@Nullable StepFieldListString serviceImageRegexPatterns) { + this.serviceImageRegexPatterns = serviceImageRegexPatterns; + return this; + } + + /** + * Get serviceImageRegexPatterns + * @return serviceImageRegexPatterns + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_SERVICE_IMAGE_REGEX_PATTERNS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public StepFieldListString getServiceImageRegexPatterns() { + return serviceImageRegexPatterns; + } + + + @JsonProperty(value = JSON_PROPERTY_SERVICE_IMAGE_REGEX_PATTERNS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setServiceImageRegexPatterns(@Nullable StepFieldListString serviceImageRegexPatterns) { + this.serviceImageRegexPatterns = serviceImageRegexPatterns; + } + + + public ComposeStepState pullImages(@Nullable StepFieldBoolean pullImages) { + this.pullImages = pullImages; + return this; + } + + /** + * Get pullImages + * @return pullImages + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_PULL_IMAGES, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public StepFieldBoolean getPullImages() { + return pullImages; + } + + + @JsonProperty(value = JSON_PROPERTY_PULL_IMAGES, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setPullImages(@Nullable StepFieldBoolean pullImages) { + this.pullImages = pullImages; + } + + + /** + * Return true if this ComposeStepState object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ComposeStepState composeStepState = (ComposeStepState) o; + return Objects.equals(this.serviceImageRegexPatterns, composeStepState.serviceImageRegexPatterns) && + Objects.equals(this.pullImages, composeStepState.pullImages) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(serviceImageRegexPatterns, pullImages, super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ComposeStepState {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append(" serviceImageRegexPatterns: ").append(toIndentedString(serviceImageRegexPatterns)).append("\n"); + sb.append(" pullImages: ").append(toIndentedString(pullImages)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `type` to the URL query string + if (getType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stype%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getType())))); + } + + // add `serviceImageRegexPatterns` to the URL query string + if (getServiceImageRegexPatterns() != null) { + joiner.add(getServiceImageRegexPatterns().toUrlQueryString(prefix + "serviceImageRegexPatterns" + suffix)); + } + + // add `pullImages` to the URL query string + if (getPullImages() != null) { + joiner.add(getPullImages().toUrlQueryString(prefix + "pullImages" + suffix)); + } + + return joiner.toString(); + } +static { + // Initialize and register the discriminator mappings. + Map> mappings = new HashMap>(); + mappings.put("ComposeStepState", ComposeStepState.class); + JSON.registerDiscriminator(ComposeStepState.class, "type", mappings); +} +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/ComposeTypeChoiceStep.java b/pe/src/main/java/org/thingsboard/client/model/ComposeTypeChoiceStep.java new file mode 100644 index 00000000..0de2fd21 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/ComposeTypeChoiceStep.java @@ -0,0 +1,261 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; +import org.thingsboard.client.model.AgentAppStep; +import org.thingsboard.client.model.AgentAppStepType; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.JSON; +import org.thingsboard.client.ApiClient; +/** + * ComposeTypeChoiceStep + */ +@JsonPropertyOrder({ + ComposeTypeChoiceStep.JSON_PROPERTY_COMPOSE_TEMPLATES +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +@JsonIgnoreProperties( + value = "type", // ignore manually set type, it will be automatically generated by Jackson during serialization + allowSetters = true // allows the type to be set during deserialization +) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", visible = true) + +public class ComposeTypeChoiceStep extends AgentAppStep { + public static final String JSON_PROPERTY_COMPOSE_TEMPLATES = "composeTemplates"; + @Nullable + private Map composeTemplates = new HashMap<>(); + + public ComposeTypeChoiceStep() { + } + + public ComposeTypeChoiceStep composeTemplates(@Nullable Map composeTemplates) { + this.composeTemplates = composeTemplates; + return this; + } + + public ComposeTypeChoiceStep putComposeTemplatesItem(String key, com.fasterxml.jackson.databind.JsonNode composeTemplatesItem) { + if (this.composeTemplates == null) { + this.composeTemplates = new HashMap<>(); + } + this.composeTemplates.put(key, composeTemplatesItem); + return this; + } + + /** + * Get composeTemplates + * @return composeTemplates + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_COMPOSE_TEMPLATES, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Map getComposeTemplates() { + return composeTemplates; + } + + + @JsonProperty(value = JSON_PROPERTY_COMPOSE_TEMPLATES, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setComposeTemplates(@Nullable Map composeTemplates) { + this.composeTemplates = composeTemplates; + } + + + @Override + public ComposeTypeChoiceStep id(@Nullable UUID id) { + this.setId(id); + return this; + } + + @Override + public ComposeTypeChoiceStep nextId(@Nullable UUID nextId) { + this.setNextId(nextId); + return this; + } + + @Override + public ComposeTypeChoiceStep title(@Nullable String title) { + this.setTitle(title); + return this; + } + + @Override + public ComposeTypeChoiceStep templateOnly(@Nullable Boolean templateOnly) { + this.setTemplateOnly(templateOnly); + return this; + } + + @Override + public ComposeTypeChoiceStep condition(@Nullable String condition) { + this.setCondition(condition); + return this; + } + + @Override + public ComposeTypeChoiceStep stateful(@Nullable Boolean stateful) { + this.setStateful(stateful); + return this; + } + + /** + * Return true if this ComposeTypeChoiceStep object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ComposeTypeChoiceStep composeTypeChoiceStep = (ComposeTypeChoiceStep) o; + return Objects.equals(this.composeTemplates, composeTypeChoiceStep.composeTemplates) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(composeTemplates, super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ComposeTypeChoiceStep {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append(" composeTemplates: ").append(toIndentedString(composeTemplates)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sid%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getId())))); + } + + // add `nextId` to the URL query string + if (getNextId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%snextId%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getNextId())))); + } + + // add `title` to the URL query string + if (getTitle() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stitle%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTitle())))); + } + + // add `templateOnly` to the URL query string + if (getTemplateOnly() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stemplateOnly%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTemplateOnly())))); + } + + // add `condition` to the URL query string + if (getCondition() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%scondition%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getCondition())))); + } + + // add `stateful` to the URL query string + if (getStateful() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sstateful%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getStateful())))); + } + + // add `type` to the URL query string + if (getType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stype%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getType())))); + } + + // add `composeTemplates` to the URL query string + if (getComposeTemplates() != null) { + for (String _key : getComposeTemplates().keySet()) { + joiner.add(String.format(java.util.Locale.ROOT, "%scomposeTemplates%s%s=%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, _key, containerSuffix), + getComposeTemplates().get(_key), ApiClient.urlEncode(ApiClient.valueToString(getComposeTemplates().get(_key))))); + } + } + + return joiner.toString(); + } +static { + // Initialize and register the discriminator mappings. + Map> mappings = new HashMap>(); + mappings.put("ComposeTypeChoiceStep", ComposeTypeChoiceStep.class); + JSON.registerDiscriminator(ComposeTypeChoiceStep.class, "type", mappings); +} +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/DefaultTenantProfileConfiguration.java b/pe/src/main/java/org/thingsboard/client/model/DefaultTenantProfileConfiguration.java index 680fcb30..5c1d9a1b 100644 --- a/pe/src/main/java/org/thingsboard/client/model/DefaultTenantProfileConfiguration.java +++ b/pe/src/main/java/org/thingsboard/client/model/DefaultTenantProfileConfiguration.java @@ -109,6 +109,10 @@ DefaultTenantProfileConfiguration.JSON_PROPERTY_EDGE_EVENT_RATE_LIMITS_PER_EDGE, DefaultTenantProfileConfiguration.JSON_PROPERTY_EDGE_UPLINK_MESSAGES_RATE_LIMITS, DefaultTenantProfileConfiguration.JSON_PROPERTY_EDGE_UPLINK_MESSAGES_RATE_LIMITS_PER_EDGE, + DefaultTenantProfileConfiguration.JSON_PROPERTY_AGENT_EVENT_RATE_LIMITS, + DefaultTenantProfileConfiguration.JSON_PROPERTY_AGENT_EVENT_RATE_LIMITS_PER_AGENT, + DefaultTenantProfileConfiguration.JSON_PROPERTY_AGENT_LOG_CHUNK_RATE_LIMITS, + DefaultTenantProfileConfiguration.JSON_PROPERTY_AGENT_LOG_CHUNK_RATE_LIMITS_PER_AGENT, DefaultTenantProfileConfiguration.JSON_PROPERTY_DEFAULT_STORAGE_TTL_DAYS, DefaultTenantProfileConfiguration.JSON_PROPERTY_ALARMS_TTL_DAYS, DefaultTenantProfileConfiguration.JSON_PROPERTY_RPC_TTL_DAYS, @@ -408,6 +412,22 @@ public class DefaultTenantProfileConfiguration extends TenantProfileConfiguratio @Nullable private String edgeUplinkMessagesRateLimitsPerEdge; + public static final String JSON_PROPERTY_AGENT_EVENT_RATE_LIMITS = "agentEventRateLimits"; + @Nullable + private String agentEventRateLimits; + + public static final String JSON_PROPERTY_AGENT_EVENT_RATE_LIMITS_PER_AGENT = "agentEventRateLimitsPerAgent"; + @Nullable + private String agentEventRateLimitsPerAgent; + + public static final String JSON_PROPERTY_AGENT_LOG_CHUNK_RATE_LIMITS = "agentLogChunkRateLimits"; + @Nullable + private String agentLogChunkRateLimits; + + public static final String JSON_PROPERTY_AGENT_LOG_CHUNK_RATE_LIMITS_PER_AGENT = "agentLogChunkRateLimitsPerAgent"; + @Nullable + private String agentLogChunkRateLimitsPerAgent; + public static final String JSON_PROPERTY_DEFAULT_STORAGE_TTL_DAYS = "defaultStorageTtlDays"; @Nullable private Integer defaultStorageTtlDays; @@ -2107,6 +2127,102 @@ public void setEdgeUplinkMessagesRateLimitsPerEdge(@Nullable String edgeUplinkMe } + public DefaultTenantProfileConfiguration agentEventRateLimits(@Nullable String agentEventRateLimits) { + this.agentEventRateLimits = agentEventRateLimits; + return this; + } + + /** + * Get agentEventRateLimits + * @return agentEventRateLimits + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_AGENT_EVENT_RATE_LIMITS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getAgentEventRateLimits() { + return agentEventRateLimits; + } + + + @JsonProperty(value = JSON_PROPERTY_AGENT_EVENT_RATE_LIMITS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setAgentEventRateLimits(@Nullable String agentEventRateLimits) { + this.agentEventRateLimits = agentEventRateLimits; + } + + + public DefaultTenantProfileConfiguration agentEventRateLimitsPerAgent(@Nullable String agentEventRateLimitsPerAgent) { + this.agentEventRateLimitsPerAgent = agentEventRateLimitsPerAgent; + return this; + } + + /** + * Get agentEventRateLimitsPerAgent + * @return agentEventRateLimitsPerAgent + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_AGENT_EVENT_RATE_LIMITS_PER_AGENT, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getAgentEventRateLimitsPerAgent() { + return agentEventRateLimitsPerAgent; + } + + + @JsonProperty(value = JSON_PROPERTY_AGENT_EVENT_RATE_LIMITS_PER_AGENT, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setAgentEventRateLimitsPerAgent(@Nullable String agentEventRateLimitsPerAgent) { + this.agentEventRateLimitsPerAgent = agentEventRateLimitsPerAgent; + } + + + public DefaultTenantProfileConfiguration agentLogChunkRateLimits(@Nullable String agentLogChunkRateLimits) { + this.agentLogChunkRateLimits = agentLogChunkRateLimits; + return this; + } + + /** + * Get agentLogChunkRateLimits + * @return agentLogChunkRateLimits + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_AGENT_LOG_CHUNK_RATE_LIMITS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getAgentLogChunkRateLimits() { + return agentLogChunkRateLimits; + } + + + @JsonProperty(value = JSON_PROPERTY_AGENT_LOG_CHUNK_RATE_LIMITS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setAgentLogChunkRateLimits(@Nullable String agentLogChunkRateLimits) { + this.agentLogChunkRateLimits = agentLogChunkRateLimits; + } + + + public DefaultTenantProfileConfiguration agentLogChunkRateLimitsPerAgent(@Nullable String agentLogChunkRateLimitsPerAgent) { + this.agentLogChunkRateLimitsPerAgent = agentLogChunkRateLimitsPerAgent; + return this; + } + + /** + * Get agentLogChunkRateLimitsPerAgent + * @return agentLogChunkRateLimitsPerAgent + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_AGENT_LOG_CHUNK_RATE_LIMITS_PER_AGENT, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getAgentLogChunkRateLimitsPerAgent() { + return agentLogChunkRateLimitsPerAgent; + } + + + @JsonProperty(value = JSON_PROPERTY_AGENT_LOG_CHUNK_RATE_LIMITS_PER_AGENT, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setAgentLogChunkRateLimitsPerAgent(@Nullable String agentLogChunkRateLimitsPerAgent) { + this.agentLogChunkRateLimitsPerAgent = agentLogChunkRateLimitsPerAgent; + } + + public DefaultTenantProfileConfiguration defaultStorageTtlDays(@Nullable Integer defaultStorageTtlDays) { this.defaultStorageTtlDays = defaultStorageTtlDays; return this; @@ -2714,6 +2830,10 @@ public boolean equals(Object o) { Objects.equals(this.edgeEventRateLimitsPerEdge, defaultTenantProfileConfiguration.edgeEventRateLimitsPerEdge) && Objects.equals(this.edgeUplinkMessagesRateLimits, defaultTenantProfileConfiguration.edgeUplinkMessagesRateLimits) && Objects.equals(this.edgeUplinkMessagesRateLimitsPerEdge, defaultTenantProfileConfiguration.edgeUplinkMessagesRateLimitsPerEdge) && + Objects.equals(this.agentEventRateLimits, defaultTenantProfileConfiguration.agentEventRateLimits) && + Objects.equals(this.agentEventRateLimitsPerAgent, defaultTenantProfileConfiguration.agentEventRateLimitsPerAgent) && + Objects.equals(this.agentLogChunkRateLimits, defaultTenantProfileConfiguration.agentLogChunkRateLimits) && + Objects.equals(this.agentLogChunkRateLimitsPerAgent, defaultTenantProfileConfiguration.agentLogChunkRateLimitsPerAgent) && Objects.equals(this.defaultStorageTtlDays, defaultTenantProfileConfiguration.defaultStorageTtlDays) && Objects.equals(this.alarmsTtlDays, defaultTenantProfileConfiguration.alarmsTtlDays) && Objects.equals(this.rpcTtlDays, defaultTenantProfileConfiguration.rpcTtlDays) && @@ -2741,7 +2861,7 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(maxDevices, maxAssets, maxCustomers, maxUsers, maxDashboards, maxRuleChains, maxEdges, maxResourcesInBytes, maxOtaPackagesInBytes, maxResourceSize, maxReportSizeInBytes, maxIntegrations, maxConverters, maxSchedulerEvents, transportTenantMsgRateLimit, transportTenantTelemetryMsgRateLimit, transportTenantTelemetryDataPointsRateLimit, transportDeviceMsgRateLimit, transportDeviceTelemetryMsgRateLimit, transportDeviceTelemetryDataPointsRateLimit, transportGatewayMsgRateLimit, transportGatewayTelemetryMsgRateLimit, transportGatewayTelemetryDataPointsRateLimit, transportGatewayDeviceMsgRateLimit, transportGatewayDeviceTelemetryMsgRateLimit, transportGatewayDeviceTelemetryDataPointsRateLimit, integrationMsgsPerTenantRateLimit, integrationMsgsPerDeviceRateLimit, integrationMsgsPerAssetRateLimit, tenantEntityExportRateLimit, tenantEntityImportRateLimit, tenantNotificationRequestsRateLimit, tenantNotificationRequestsPerRuleRateLimit, maxTransportMessages, maxTransportDataPoints, maxREExecutions, maxJSExecutions, maxTbelExecutions, maxDPStorageDays, maxRuleNodeExecutionsPerMessage, maxDebugModeDurationMinutes, maxEmails, smsEnabled, maxSms, maxCreatedAlarms, maxGeneratedReports, maxAiCredits, tenantServerRestLimitsConfiguration, customerServerRestLimitsConfiguration, maxWsSessionsPerTenant, maxWsSessionsPerCustomer, maxWsSessionsPerRegularUser, maxWsSessionsPerPublicUser, wsMsgQueueLimitPerSession, maxWsSubscriptionsPerTenant, maxWsSubscriptionsPerCustomer, maxWsSubscriptionsPerRegularUser, maxWsSubscriptionsPerPublicUser, wsUpdatesPerSessionRateLimit, cassandraReadQueryTenantCoreRateLimits, cassandraWriteQueryTenantCoreRateLimits, cassandraReadQueryTenantRuleEngineRateLimits, cassandraWriteQueryTenantRuleEngineRateLimits, edgeEventRateLimits, edgeEventRateLimitsPerEdge, edgeUplinkMessagesRateLimits, edgeUplinkMessagesRateLimitsPerEdge, defaultStorageTtlDays, alarmsTtlDays, rpcTtlDays, queueStatsTtlDays, ruleEngineExceptionsTtlDays, blobEntityTtlDays, reportTtlDays, warnThreshold, maxCalculatedFieldsPerEntity, maxArgumentsPerCF, minAllowedScheduledUpdateIntervalInSecForCF, maxRelationLevelPerCfArgument, maxRelatedEntitiesToReturnPerCfArgument, maxDataPointsPerRollingArg, maxStateSizeInKBytes, maxSingleValueArgumentSizeInKBytes, minAllowedDeduplicationIntervalInSecForCF, minAllowedAggregationIntervalInSecForCF, intermediateAggregationIntervalInSecForCF, cfReevaluationCheckInterval, alarmsReevaluationInterval, aiChatRequestsPerTenantRateLimit, super.hashCode()); + return Objects.hash(maxDevices, maxAssets, maxCustomers, maxUsers, maxDashboards, maxRuleChains, maxEdges, maxResourcesInBytes, maxOtaPackagesInBytes, maxResourceSize, maxReportSizeInBytes, maxIntegrations, maxConverters, maxSchedulerEvents, transportTenantMsgRateLimit, transportTenantTelemetryMsgRateLimit, transportTenantTelemetryDataPointsRateLimit, transportDeviceMsgRateLimit, transportDeviceTelemetryMsgRateLimit, transportDeviceTelemetryDataPointsRateLimit, transportGatewayMsgRateLimit, transportGatewayTelemetryMsgRateLimit, transportGatewayTelemetryDataPointsRateLimit, transportGatewayDeviceMsgRateLimit, transportGatewayDeviceTelemetryMsgRateLimit, transportGatewayDeviceTelemetryDataPointsRateLimit, integrationMsgsPerTenantRateLimit, integrationMsgsPerDeviceRateLimit, integrationMsgsPerAssetRateLimit, tenantEntityExportRateLimit, tenantEntityImportRateLimit, tenantNotificationRequestsRateLimit, tenantNotificationRequestsPerRuleRateLimit, maxTransportMessages, maxTransportDataPoints, maxREExecutions, maxJSExecutions, maxTbelExecutions, maxDPStorageDays, maxRuleNodeExecutionsPerMessage, maxDebugModeDurationMinutes, maxEmails, smsEnabled, maxSms, maxCreatedAlarms, maxGeneratedReports, maxAiCredits, tenantServerRestLimitsConfiguration, customerServerRestLimitsConfiguration, maxWsSessionsPerTenant, maxWsSessionsPerCustomer, maxWsSessionsPerRegularUser, maxWsSessionsPerPublicUser, wsMsgQueueLimitPerSession, maxWsSubscriptionsPerTenant, maxWsSubscriptionsPerCustomer, maxWsSubscriptionsPerRegularUser, maxWsSubscriptionsPerPublicUser, wsUpdatesPerSessionRateLimit, cassandraReadQueryTenantCoreRateLimits, cassandraWriteQueryTenantCoreRateLimits, cassandraReadQueryTenantRuleEngineRateLimits, cassandraWriteQueryTenantRuleEngineRateLimits, edgeEventRateLimits, edgeEventRateLimitsPerEdge, edgeUplinkMessagesRateLimits, edgeUplinkMessagesRateLimitsPerEdge, agentEventRateLimits, agentEventRateLimitsPerAgent, agentLogChunkRateLimits, agentLogChunkRateLimitsPerAgent, defaultStorageTtlDays, alarmsTtlDays, rpcTtlDays, queueStatsTtlDays, ruleEngineExceptionsTtlDays, blobEntityTtlDays, reportTtlDays, warnThreshold, maxCalculatedFieldsPerEntity, maxArgumentsPerCF, minAllowedScheduledUpdateIntervalInSecForCF, maxRelationLevelPerCfArgument, maxRelatedEntitiesToReturnPerCfArgument, maxDataPointsPerRollingArg, maxStateSizeInKBytes, maxSingleValueArgumentSizeInKBytes, minAllowedDeduplicationIntervalInSecForCF, minAllowedAggregationIntervalInSecForCF, intermediateAggregationIntervalInSecForCF, cfReevaluationCheckInterval, alarmsReevaluationInterval, aiChatRequestsPerTenantRateLimit, super.hashCode()); } @Override @@ -2816,6 +2936,10 @@ public String toString() { sb.append(" edgeEventRateLimitsPerEdge: ").append(toIndentedString(edgeEventRateLimitsPerEdge)).append("\n"); sb.append(" edgeUplinkMessagesRateLimits: ").append(toIndentedString(edgeUplinkMessagesRateLimits)).append("\n"); sb.append(" edgeUplinkMessagesRateLimitsPerEdge: ").append(toIndentedString(edgeUplinkMessagesRateLimitsPerEdge)).append("\n"); + sb.append(" agentEventRateLimits: ").append(toIndentedString(agentEventRateLimits)).append("\n"); + sb.append(" agentEventRateLimitsPerAgent: ").append(toIndentedString(agentEventRateLimitsPerAgent)).append("\n"); + sb.append(" agentLogChunkRateLimits: ").append(toIndentedString(agentLogChunkRateLimits)).append("\n"); + sb.append(" agentLogChunkRateLimitsPerAgent: ").append(toIndentedString(agentLogChunkRateLimitsPerAgent)).append("\n"); sb.append(" defaultStorageTtlDays: ").append(toIndentedString(defaultStorageTtlDays)).append("\n"); sb.append(" alarmsTtlDays: ").append(toIndentedString(alarmsTtlDays)).append("\n"); sb.append(" rpcTtlDays: ").append(toIndentedString(rpcTtlDays)).append("\n"); @@ -3225,6 +3349,26 @@ public String toUrlQueryString(String prefix) { joiner.add(String.format(java.util.Locale.ROOT, "%sedgeUplinkMessagesRateLimitsPerEdge%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getEdgeUplinkMessagesRateLimitsPerEdge())))); } + // add `agentEventRateLimits` to the URL query string + if (getAgentEventRateLimits() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sagentEventRateLimits%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getAgentEventRateLimits())))); + } + + // add `agentEventRateLimitsPerAgent` to the URL query string + if (getAgentEventRateLimitsPerAgent() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sagentEventRateLimitsPerAgent%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getAgentEventRateLimitsPerAgent())))); + } + + // add `agentLogChunkRateLimits` to the URL query string + if (getAgentLogChunkRateLimits() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sagentLogChunkRateLimits%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getAgentLogChunkRateLimits())))); + } + + // add `agentLogChunkRateLimitsPerAgent` to the URL query string + if (getAgentLogChunkRateLimitsPerAgent() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sagentLogChunkRateLimitsPerAgent%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getAgentLogChunkRateLimitsPerAgent())))); + } + // add `defaultStorageTtlDays` to the URL query string if (getDefaultStorageTtlDays() != null) { joiner.add(String.format(java.util.Locale.ROOT, "%sdefaultStorageTtlDays%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getDefaultStorageTtlDays())))); diff --git a/pe/src/main/java/org/thingsboard/client/model/DockerComposeConfig.java b/pe/src/main/java/org/thingsboard/client/model/DockerComposeConfig.java new file mode 100644 index 00000000..c47664eb --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/DockerComposeConfig.java @@ -0,0 +1,246 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.thingsboard.client.model.AgentAppArgument; +import org.thingsboard.client.model.AgentAppConfig; +import org.thingsboard.client.model.AgentAppConfigType; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.JSON; +import org.thingsboard.client.ApiClient; +/** + * DockerComposeConfig + */ +@JsonPropertyOrder({ + DockerComposeConfig.JSON_PROPERTY_COMPOSE, + DockerComposeConfig.JSON_PROPERTY_COMPOSE_TYPE +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +@JsonIgnoreProperties( + value = "type", // ignore manually set type, it will be automatically generated by Jackson during serialization + allowSetters = true // allows the type to be set during deserialization +) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", visible = true) + +public class DockerComposeConfig extends AgentAppConfig { + public static final String JSON_PROPERTY_COMPOSE = "compose"; + @Nullable + private com.fasterxml.jackson.databind.JsonNode compose = null; + + public static final String JSON_PROPERTY_COMPOSE_TYPE = "composeType"; + @Nullable + private String composeType; + + public DockerComposeConfig() { + } + + public DockerComposeConfig compose(@Nullable com.fasterxml.jackson.databind.JsonNode compose) { + this.compose = compose; + return this; + } + + /** + * Get compose + * @return compose + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_COMPOSE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public com.fasterxml.jackson.databind.JsonNode getCompose() { + return compose; + } + + + @JsonProperty(value = JSON_PROPERTY_COMPOSE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCompose(@Nullable com.fasterxml.jackson.databind.JsonNode compose) { + this.compose = compose; + } + + + public DockerComposeConfig composeType(@Nullable String composeType) { + this.composeType = composeType; + return this; + } + + /** + * Get composeType + * @return composeType + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_COMPOSE_TYPE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getComposeType() { + return composeType; + } + + + @JsonProperty(value = JSON_PROPERTY_COMPOSE_TYPE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setComposeType(@Nullable String composeType) { + this.composeType = composeType; + } + + + @Override + public DockerComposeConfig arguments(@Nullable List arguments) { + this.setArguments(arguments); + return this; + } + + @Override + public DockerComposeConfig edgeRoutingKey(@Nullable String edgeRoutingKey) { + this.setEdgeRoutingKey(edgeRoutingKey); + return this; + } + + /** + * Return true if this DockerComposeConfig object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DockerComposeConfig dockerComposeConfig = (DockerComposeConfig) o; + return Objects.equals(this.compose, dockerComposeConfig.compose) && + Objects.equals(this.composeType, dockerComposeConfig.composeType) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(compose, composeType, super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DockerComposeConfig {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append(" compose: ").append(toIndentedString(compose)).append("\n"); + sb.append(" composeType: ").append(toIndentedString(composeType)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `arguments` to the URL query string + if (getArguments() != null) { + for (int i = 0; i < getArguments().size(); i++) { + if (getArguments().get(i) != null) { + joiner.add(getArguments().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%sarguments%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); + } + } + } + + // add `edgeRoutingKey` to the URL query string + if (getEdgeRoutingKey() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sedgeRoutingKey%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getEdgeRoutingKey())))); + } + + // add `type` to the URL query string + if (getType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stype%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getType())))); + } + + // add `compose` to the URL query string + if (getCompose() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%scompose%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getCompose())))); + } + + // add `composeType` to the URL query string + if (getComposeType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%scomposeType%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getComposeType())))); + } + + return joiner.toString(); + } +static { + // Initialize and register the discriminator mappings. + Map> mappings = new HashMap>(); + mappings.put("DockerComposeConfig", DockerComposeConfig.class); + JSON.registerDiscriminator(DockerComposeConfig.class, "type", mappings); +} +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/EntityGroup.java b/pe/src/main/java/org/thingsboard/client/model/EntityGroup.java index ef6b6771..ac04d178 100644 --- a/pe/src/main/java/org/thingsboard/client/model/EntityGroup.java +++ b/pe/src/main/java/org/thingsboard/client/model/EntityGroup.java @@ -158,7 +158,21 @@ public enum TypeEnum { AI_MODEL(EntityType.valueOf("AI_MODEL")), - API_KEY(EntityType.valueOf("API_KEY")); + API_KEY(EntityType.valueOf("API_KEY")), + + AGENT(EntityType.valueOf("AGENT")), + + AGENT_APPLICATION(EntityType.valueOf("AGENT_APPLICATION")), + + AGENT_APP_EVENT(EntityType.valueOf("AGENT_APP_EVENT")), + + AGENT_APP_UNIT(EntityType.valueOf("AGENT_APP_UNIT")), + + AGENT_APP_PROFILE(EntityType.valueOf("AGENT_APP_PROFILE")), + + AGENT_PROFILE(EntityType.valueOf("AGENT_PROFILE")), + + AGENT_BULK_ACTION(EntityType.valueOf("AGENT_BULK_ACTION")); private EntityType value; diff --git a/pe/src/main/java/org/thingsboard/client/model/EntityGroupInfo.java b/pe/src/main/java/org/thingsboard/client/model/EntityGroupInfo.java index dcea622e..121b7671 100644 --- a/pe/src/main/java/org/thingsboard/client/model/EntityGroupInfo.java +++ b/pe/src/main/java/org/thingsboard/client/model/EntityGroupInfo.java @@ -162,7 +162,21 @@ public enum TypeEnum { AI_MODEL(EntityType.valueOf("AI_MODEL")), - API_KEY(EntityType.valueOf("API_KEY")); + API_KEY(EntityType.valueOf("API_KEY")), + + AGENT(EntityType.valueOf("AGENT")), + + AGENT_APPLICATION(EntityType.valueOf("AGENT_APPLICATION")), + + AGENT_APP_EVENT(EntityType.valueOf("AGENT_APP_EVENT")), + + AGENT_APP_UNIT(EntityType.valueOf("AGENT_APP_UNIT")), + + AGENT_APP_PROFILE(EntityType.valueOf("AGENT_APP_PROFILE")), + + AGENT_PROFILE(EntityType.valueOf("AGENT_PROFILE")), + + AGENT_BULK_ACTION(EntityType.valueOf("AGENT_BULK_ACTION")); private EntityType value; diff --git a/pe/src/main/java/org/thingsboard/client/model/EntityId.java b/pe/src/main/java/org/thingsboard/client/model/EntityId.java index ea6c4b26..9cd4c045 100644 --- a/pe/src/main/java/org/thingsboard/client/model/EntityId.java +++ b/pe/src/main/java/org/thingsboard/client/model/EntityId.java @@ -54,6 +54,13 @@ @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "entityType", visible = true) @JsonSubTypes({ @JsonSubTypes.Type(value = AdminSettingsId.class, name = "ADMIN_SETTINGS"), + @JsonSubTypes.Type(value = AgentId.class, name = "AGENT"), + @JsonSubTypes.Type(value = AgentApplicationId.class, name = "AGENT_APPLICATION"), + @JsonSubTypes.Type(value = AgentAppEventId.class, name = "AGENT_APP_EVENT"), + @JsonSubTypes.Type(value = AgentAppProfileId.class, name = "AGENT_APP_PROFILE"), + @JsonSubTypes.Type(value = AgentAppUnitId.class, name = "AGENT_APP_UNIT"), + @JsonSubTypes.Type(value = AgentBulkActionId.class, name = "AGENT_BULK_ACTION"), + @JsonSubTypes.Type(value = AgentProfileId.class, name = "AGENT_PROFILE"), @JsonSubTypes.Type(value = AiModelId.class, name = "AI_MODEL"), @JsonSubTypes.Type(value = AlarmId.class, name = "ALARM"), @JsonSubTypes.Type(value = ApiKeyId.class, name = "API_KEY"), @@ -251,6 +258,13 @@ public String toUrlQueryString(String prefix) { // Initialize and register the discriminator mappings. Map> mappings = new HashMap>(); mappings.put("ADMIN_SETTINGS", AdminSettingsId.class); + mappings.put("AGENT", AgentId.class); + mappings.put("AGENT_APPLICATION", AgentApplicationId.class); + mappings.put("AGENT_APP_EVENT", AgentAppEventId.class); + mappings.put("AGENT_APP_PROFILE", AgentAppProfileId.class); + mappings.put("AGENT_APP_UNIT", AgentAppUnitId.class); + mappings.put("AGENT_BULK_ACTION", AgentBulkActionId.class); + mappings.put("AGENT_PROFILE", AgentProfileId.class); mappings.put("AI_MODEL", AiModelId.class); mappings.put("ALARM", AlarmId.class); mappings.put("API_KEY", ApiKeyId.class); diff --git a/pe/src/main/java/org/thingsboard/client/model/EntityType.java b/pe/src/main/java/org/thingsboard/client/model/EntityType.java index 3ae11620..f65b04f3 100644 --- a/pe/src/main/java/org/thingsboard/client/model/EntityType.java +++ b/pe/src/main/java/org/thingsboard/client/model/EntityType.java @@ -122,7 +122,21 @@ public enum EntityType { AI_MODEL("AI_MODEL"), - API_KEY("API_KEY"); + API_KEY("API_KEY"), + + AGENT("AGENT"), + + AGENT_APPLICATION("AGENT_APPLICATION"), + + AGENT_APP_EVENT("AGENT_APP_EVENT"), + + AGENT_APP_UNIT("AGENT_APP_UNIT"), + + AGENT_APP_PROFILE("AGENT_APP_PROFILE"), + + AGENT_PROFILE("AGENT_PROFILE"), + + AGENT_BULK_ACTION("AGENT_BULK_ACTION"); private String value; diff --git a/pe/src/main/java/org/thingsboard/client/model/GetManagedRelatedEntityIds200ResponseInner.java b/pe/src/main/java/org/thingsboard/client/model/GetManagedRelatedEntityIds200ResponseInner.java new file mode 100644 index 00000000..7a371b50 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/GetManagedRelatedEntityIds200ResponseInner.java @@ -0,0 +1,3167 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import java.util.UUID; +import org.thingsboard.client.model.AdminSettingsId; +import org.thingsboard.client.model.AgentAppEventId; +import org.thingsboard.client.model.AgentAppProfileId; +import org.thingsboard.client.model.AgentAppUnitId; +import org.thingsboard.client.model.AgentApplicationId; +import org.thingsboard.client.model.AgentBulkActionId; +import org.thingsboard.client.model.AgentId; +import org.thingsboard.client.model.AgentProfileId; +import org.thingsboard.client.model.AiModelId; +import org.thingsboard.client.model.AlarmId; +import org.thingsboard.client.model.ApiKeyId; +import org.thingsboard.client.model.ApiUsageStateId; +import org.thingsboard.client.model.AssetId; +import org.thingsboard.client.model.AssetProfileId; +import org.thingsboard.client.model.BlobEntityId; +import org.thingsboard.client.model.CalculatedFieldId; +import org.thingsboard.client.model.ConverterId; +import org.thingsboard.client.model.CustomerId; +import org.thingsboard.client.model.DashboardId; +import org.thingsboard.client.model.DeviceId; +import org.thingsboard.client.model.DeviceProfileId; +import org.thingsboard.client.model.DomainId; +import org.thingsboard.client.model.EdgeId; +import org.thingsboard.client.model.EntityGroupId; +import org.thingsboard.client.model.EntityType; +import org.thingsboard.client.model.EntityViewId; +import org.thingsboard.client.model.GroupPermissionId; +import org.thingsboard.client.model.IntegrationId; +import org.thingsboard.client.model.JobId; +import org.thingsboard.client.model.MobileAppBundleId; +import org.thingsboard.client.model.MobileAppId; +import org.thingsboard.client.model.NotificationId; +import org.thingsboard.client.model.NotificationRequestId; +import org.thingsboard.client.model.NotificationRuleId; +import org.thingsboard.client.model.NotificationTargetId; +import org.thingsboard.client.model.NotificationTemplateId; +import org.thingsboard.client.model.OAuth2ClientId; +import org.thingsboard.client.model.OtaPackageId; +import org.thingsboard.client.model.QueueId; +import org.thingsboard.client.model.QueueStatsId; +import org.thingsboard.client.model.ReportId; +import org.thingsboard.client.model.ReportTemplateId; +import org.thingsboard.client.model.RoleId; +import org.thingsboard.client.model.RpcId; +import org.thingsboard.client.model.RuleChainId; +import org.thingsboard.client.model.RuleNodeId; +import org.thingsboard.client.model.SchedulerEventId; +import org.thingsboard.client.model.SecretId; +import org.thingsboard.client.model.TbResourceId; +import org.thingsboard.client.model.TenantId; +import org.thingsboard.client.model.TenantProfileId; +import org.thingsboard.client.model.UserId; +import org.thingsboard.client.model.WidgetTypeId; +import org.thingsboard.client.model.WidgetsBundleId; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + +import com.fasterxml.jackson.core.type.TypeReference; + +import java.io.IOException; +import java.util.logging.Level; +import java.util.logging.Logger; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashSet; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.JsonToken; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.MapperFeature; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import org.thingsboard.client.ApiClient; +import org.thingsboard.client.JSON; + +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +@JsonDeserialize(using = GetManagedRelatedEntityIds200ResponseInner.GetManagedRelatedEntityIds200ResponseInnerDeserializer.class) +@JsonSerialize(using = GetManagedRelatedEntityIds200ResponseInner.GetManagedRelatedEntityIds200ResponseInnerSerializer.class) +public class GetManagedRelatedEntityIds200ResponseInner extends AbstractOpenApiSchema { + private static final Logger log = Logger.getLogger(GetManagedRelatedEntityIds200ResponseInner.class.getName()); + + public static class GetManagedRelatedEntityIds200ResponseInnerSerializer extends StdSerializer { + public GetManagedRelatedEntityIds200ResponseInnerSerializer(Class t) { + super(t); + } + + public GetManagedRelatedEntityIds200ResponseInnerSerializer() { + this(null); + } + + @Override + public void serialize(GetManagedRelatedEntityIds200ResponseInner value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { + jgen.writeObject(value.getActualInstance()); + } + } + + public static class GetManagedRelatedEntityIds200ResponseInnerDeserializer extends StdDeserializer { + public GetManagedRelatedEntityIds200ResponseInnerDeserializer() { + this(GetManagedRelatedEntityIds200ResponseInner.class); + } + + public GetManagedRelatedEntityIds200ResponseInnerDeserializer(Class vc) { + super(vc); + } + + @Override + public GetManagedRelatedEntityIds200ResponseInner deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { + JsonNode tree = jp.readValueAsTree(); + Object deserialized = null; + boolean typeCoercion = ctxt.isEnabled(MapperFeature.ALLOW_COERCION_OF_SCALARS); + int match = 0; + JsonToken token = tree.traverse(jp.getCodec()).nextToken(); + // deserialize AdminSettingsId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (AdminSettingsId.class.equals(Integer.class) || AdminSettingsId.class.equals(Long.class) || AdminSettingsId.class.equals(Float.class) || AdminSettingsId.class.equals(Double.class) || AdminSettingsId.class.equals(Boolean.class) || AdminSettingsId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((AdminSettingsId.class.equals(Integer.class) || AdminSettingsId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((AdminSettingsId.class.equals(Float.class) || AdminSettingsId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (AdminSettingsId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (AdminSettingsId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(AdminSettingsId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'AdminSettingsId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'AdminSettingsId'", e); + } + + // deserialize AgentAppEventId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (AgentAppEventId.class.equals(Integer.class) || AgentAppEventId.class.equals(Long.class) || AgentAppEventId.class.equals(Float.class) || AgentAppEventId.class.equals(Double.class) || AgentAppEventId.class.equals(Boolean.class) || AgentAppEventId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((AgentAppEventId.class.equals(Integer.class) || AgentAppEventId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((AgentAppEventId.class.equals(Float.class) || AgentAppEventId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (AgentAppEventId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (AgentAppEventId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(AgentAppEventId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'AgentAppEventId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'AgentAppEventId'", e); + } + + // deserialize AgentAppProfileId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (AgentAppProfileId.class.equals(Integer.class) || AgentAppProfileId.class.equals(Long.class) || AgentAppProfileId.class.equals(Float.class) || AgentAppProfileId.class.equals(Double.class) || AgentAppProfileId.class.equals(Boolean.class) || AgentAppProfileId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((AgentAppProfileId.class.equals(Integer.class) || AgentAppProfileId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((AgentAppProfileId.class.equals(Float.class) || AgentAppProfileId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (AgentAppProfileId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (AgentAppProfileId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(AgentAppProfileId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'AgentAppProfileId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'AgentAppProfileId'", e); + } + + // deserialize AgentAppUnitId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (AgentAppUnitId.class.equals(Integer.class) || AgentAppUnitId.class.equals(Long.class) || AgentAppUnitId.class.equals(Float.class) || AgentAppUnitId.class.equals(Double.class) || AgentAppUnitId.class.equals(Boolean.class) || AgentAppUnitId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((AgentAppUnitId.class.equals(Integer.class) || AgentAppUnitId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((AgentAppUnitId.class.equals(Float.class) || AgentAppUnitId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (AgentAppUnitId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (AgentAppUnitId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(AgentAppUnitId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'AgentAppUnitId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'AgentAppUnitId'", e); + } + + // deserialize AgentApplicationId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (AgentApplicationId.class.equals(Integer.class) || AgentApplicationId.class.equals(Long.class) || AgentApplicationId.class.equals(Float.class) || AgentApplicationId.class.equals(Double.class) || AgentApplicationId.class.equals(Boolean.class) || AgentApplicationId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((AgentApplicationId.class.equals(Integer.class) || AgentApplicationId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((AgentApplicationId.class.equals(Float.class) || AgentApplicationId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (AgentApplicationId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (AgentApplicationId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(AgentApplicationId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'AgentApplicationId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'AgentApplicationId'", e); + } + + // deserialize AgentBulkActionId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (AgentBulkActionId.class.equals(Integer.class) || AgentBulkActionId.class.equals(Long.class) || AgentBulkActionId.class.equals(Float.class) || AgentBulkActionId.class.equals(Double.class) || AgentBulkActionId.class.equals(Boolean.class) || AgentBulkActionId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((AgentBulkActionId.class.equals(Integer.class) || AgentBulkActionId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((AgentBulkActionId.class.equals(Float.class) || AgentBulkActionId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (AgentBulkActionId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (AgentBulkActionId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(AgentBulkActionId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'AgentBulkActionId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'AgentBulkActionId'", e); + } + + // deserialize AgentId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (AgentId.class.equals(Integer.class) || AgentId.class.equals(Long.class) || AgentId.class.equals(Float.class) || AgentId.class.equals(Double.class) || AgentId.class.equals(Boolean.class) || AgentId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((AgentId.class.equals(Integer.class) || AgentId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((AgentId.class.equals(Float.class) || AgentId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (AgentId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (AgentId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(AgentId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'AgentId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'AgentId'", e); + } + + // deserialize AgentProfileId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (AgentProfileId.class.equals(Integer.class) || AgentProfileId.class.equals(Long.class) || AgentProfileId.class.equals(Float.class) || AgentProfileId.class.equals(Double.class) || AgentProfileId.class.equals(Boolean.class) || AgentProfileId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((AgentProfileId.class.equals(Integer.class) || AgentProfileId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((AgentProfileId.class.equals(Float.class) || AgentProfileId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (AgentProfileId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (AgentProfileId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(AgentProfileId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'AgentProfileId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'AgentProfileId'", e); + } + + // deserialize AiModelId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (AiModelId.class.equals(Integer.class) || AiModelId.class.equals(Long.class) || AiModelId.class.equals(Float.class) || AiModelId.class.equals(Double.class) || AiModelId.class.equals(Boolean.class) || AiModelId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((AiModelId.class.equals(Integer.class) || AiModelId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((AiModelId.class.equals(Float.class) || AiModelId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (AiModelId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (AiModelId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(AiModelId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'AiModelId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'AiModelId'", e); + } + + // deserialize AlarmId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (AlarmId.class.equals(Integer.class) || AlarmId.class.equals(Long.class) || AlarmId.class.equals(Float.class) || AlarmId.class.equals(Double.class) || AlarmId.class.equals(Boolean.class) || AlarmId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((AlarmId.class.equals(Integer.class) || AlarmId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((AlarmId.class.equals(Float.class) || AlarmId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (AlarmId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (AlarmId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(AlarmId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'AlarmId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'AlarmId'", e); + } + + // deserialize ApiKeyId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (ApiKeyId.class.equals(Integer.class) || ApiKeyId.class.equals(Long.class) || ApiKeyId.class.equals(Float.class) || ApiKeyId.class.equals(Double.class) || ApiKeyId.class.equals(Boolean.class) || ApiKeyId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((ApiKeyId.class.equals(Integer.class) || ApiKeyId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((ApiKeyId.class.equals(Float.class) || ApiKeyId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (ApiKeyId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (ApiKeyId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(ApiKeyId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'ApiKeyId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'ApiKeyId'", e); + } + + // deserialize ApiUsageStateId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (ApiUsageStateId.class.equals(Integer.class) || ApiUsageStateId.class.equals(Long.class) || ApiUsageStateId.class.equals(Float.class) || ApiUsageStateId.class.equals(Double.class) || ApiUsageStateId.class.equals(Boolean.class) || ApiUsageStateId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((ApiUsageStateId.class.equals(Integer.class) || ApiUsageStateId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((ApiUsageStateId.class.equals(Float.class) || ApiUsageStateId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (ApiUsageStateId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (ApiUsageStateId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(ApiUsageStateId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'ApiUsageStateId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'ApiUsageStateId'", e); + } + + // deserialize AssetId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (AssetId.class.equals(Integer.class) || AssetId.class.equals(Long.class) || AssetId.class.equals(Float.class) || AssetId.class.equals(Double.class) || AssetId.class.equals(Boolean.class) || AssetId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((AssetId.class.equals(Integer.class) || AssetId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((AssetId.class.equals(Float.class) || AssetId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (AssetId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (AssetId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(AssetId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'AssetId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'AssetId'", e); + } + + // deserialize AssetProfileId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (AssetProfileId.class.equals(Integer.class) || AssetProfileId.class.equals(Long.class) || AssetProfileId.class.equals(Float.class) || AssetProfileId.class.equals(Double.class) || AssetProfileId.class.equals(Boolean.class) || AssetProfileId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((AssetProfileId.class.equals(Integer.class) || AssetProfileId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((AssetProfileId.class.equals(Float.class) || AssetProfileId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (AssetProfileId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (AssetProfileId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(AssetProfileId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'AssetProfileId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'AssetProfileId'", e); + } + + // deserialize BlobEntityId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (BlobEntityId.class.equals(Integer.class) || BlobEntityId.class.equals(Long.class) || BlobEntityId.class.equals(Float.class) || BlobEntityId.class.equals(Double.class) || BlobEntityId.class.equals(Boolean.class) || BlobEntityId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((BlobEntityId.class.equals(Integer.class) || BlobEntityId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((BlobEntityId.class.equals(Float.class) || BlobEntityId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (BlobEntityId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (BlobEntityId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(BlobEntityId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'BlobEntityId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'BlobEntityId'", e); + } + + // deserialize CalculatedFieldId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (CalculatedFieldId.class.equals(Integer.class) || CalculatedFieldId.class.equals(Long.class) || CalculatedFieldId.class.equals(Float.class) || CalculatedFieldId.class.equals(Double.class) || CalculatedFieldId.class.equals(Boolean.class) || CalculatedFieldId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((CalculatedFieldId.class.equals(Integer.class) || CalculatedFieldId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((CalculatedFieldId.class.equals(Float.class) || CalculatedFieldId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (CalculatedFieldId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (CalculatedFieldId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(CalculatedFieldId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'CalculatedFieldId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'CalculatedFieldId'", e); + } + + // deserialize ConverterId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (ConverterId.class.equals(Integer.class) || ConverterId.class.equals(Long.class) || ConverterId.class.equals(Float.class) || ConverterId.class.equals(Double.class) || ConverterId.class.equals(Boolean.class) || ConverterId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((ConverterId.class.equals(Integer.class) || ConverterId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((ConverterId.class.equals(Float.class) || ConverterId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (ConverterId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (ConverterId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(ConverterId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'ConverterId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'ConverterId'", e); + } + + // deserialize CustomerId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (CustomerId.class.equals(Integer.class) || CustomerId.class.equals(Long.class) || CustomerId.class.equals(Float.class) || CustomerId.class.equals(Double.class) || CustomerId.class.equals(Boolean.class) || CustomerId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((CustomerId.class.equals(Integer.class) || CustomerId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((CustomerId.class.equals(Float.class) || CustomerId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (CustomerId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (CustomerId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(CustomerId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'CustomerId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'CustomerId'", e); + } + + // deserialize DashboardId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (DashboardId.class.equals(Integer.class) || DashboardId.class.equals(Long.class) || DashboardId.class.equals(Float.class) || DashboardId.class.equals(Double.class) || DashboardId.class.equals(Boolean.class) || DashboardId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((DashboardId.class.equals(Integer.class) || DashboardId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((DashboardId.class.equals(Float.class) || DashboardId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (DashboardId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (DashboardId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(DashboardId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'DashboardId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'DashboardId'", e); + } + + // deserialize DeviceId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (DeviceId.class.equals(Integer.class) || DeviceId.class.equals(Long.class) || DeviceId.class.equals(Float.class) || DeviceId.class.equals(Double.class) || DeviceId.class.equals(Boolean.class) || DeviceId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((DeviceId.class.equals(Integer.class) || DeviceId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((DeviceId.class.equals(Float.class) || DeviceId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (DeviceId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (DeviceId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(DeviceId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'DeviceId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'DeviceId'", e); + } + + // deserialize DeviceProfileId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (DeviceProfileId.class.equals(Integer.class) || DeviceProfileId.class.equals(Long.class) || DeviceProfileId.class.equals(Float.class) || DeviceProfileId.class.equals(Double.class) || DeviceProfileId.class.equals(Boolean.class) || DeviceProfileId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((DeviceProfileId.class.equals(Integer.class) || DeviceProfileId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((DeviceProfileId.class.equals(Float.class) || DeviceProfileId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (DeviceProfileId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (DeviceProfileId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(DeviceProfileId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'DeviceProfileId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'DeviceProfileId'", e); + } + + // deserialize DomainId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (DomainId.class.equals(Integer.class) || DomainId.class.equals(Long.class) || DomainId.class.equals(Float.class) || DomainId.class.equals(Double.class) || DomainId.class.equals(Boolean.class) || DomainId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((DomainId.class.equals(Integer.class) || DomainId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((DomainId.class.equals(Float.class) || DomainId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (DomainId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (DomainId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(DomainId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'DomainId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'DomainId'", e); + } + + // deserialize EdgeId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (EdgeId.class.equals(Integer.class) || EdgeId.class.equals(Long.class) || EdgeId.class.equals(Float.class) || EdgeId.class.equals(Double.class) || EdgeId.class.equals(Boolean.class) || EdgeId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((EdgeId.class.equals(Integer.class) || EdgeId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((EdgeId.class.equals(Float.class) || EdgeId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (EdgeId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (EdgeId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(EdgeId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'EdgeId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'EdgeId'", e); + } + + // deserialize EntityGroupId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (EntityGroupId.class.equals(Integer.class) || EntityGroupId.class.equals(Long.class) || EntityGroupId.class.equals(Float.class) || EntityGroupId.class.equals(Double.class) || EntityGroupId.class.equals(Boolean.class) || EntityGroupId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((EntityGroupId.class.equals(Integer.class) || EntityGroupId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((EntityGroupId.class.equals(Float.class) || EntityGroupId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (EntityGroupId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (EntityGroupId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(EntityGroupId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'EntityGroupId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'EntityGroupId'", e); + } + + // deserialize EntityViewId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (EntityViewId.class.equals(Integer.class) || EntityViewId.class.equals(Long.class) || EntityViewId.class.equals(Float.class) || EntityViewId.class.equals(Double.class) || EntityViewId.class.equals(Boolean.class) || EntityViewId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((EntityViewId.class.equals(Integer.class) || EntityViewId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((EntityViewId.class.equals(Float.class) || EntityViewId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (EntityViewId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (EntityViewId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(EntityViewId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'EntityViewId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'EntityViewId'", e); + } + + // deserialize GroupPermissionId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (GroupPermissionId.class.equals(Integer.class) || GroupPermissionId.class.equals(Long.class) || GroupPermissionId.class.equals(Float.class) || GroupPermissionId.class.equals(Double.class) || GroupPermissionId.class.equals(Boolean.class) || GroupPermissionId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((GroupPermissionId.class.equals(Integer.class) || GroupPermissionId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((GroupPermissionId.class.equals(Float.class) || GroupPermissionId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (GroupPermissionId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (GroupPermissionId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(GroupPermissionId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'GroupPermissionId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'GroupPermissionId'", e); + } + + // deserialize IntegrationId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (IntegrationId.class.equals(Integer.class) || IntegrationId.class.equals(Long.class) || IntegrationId.class.equals(Float.class) || IntegrationId.class.equals(Double.class) || IntegrationId.class.equals(Boolean.class) || IntegrationId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((IntegrationId.class.equals(Integer.class) || IntegrationId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((IntegrationId.class.equals(Float.class) || IntegrationId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (IntegrationId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (IntegrationId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(IntegrationId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'IntegrationId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'IntegrationId'", e); + } + + // deserialize JobId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (JobId.class.equals(Integer.class) || JobId.class.equals(Long.class) || JobId.class.equals(Float.class) || JobId.class.equals(Double.class) || JobId.class.equals(Boolean.class) || JobId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((JobId.class.equals(Integer.class) || JobId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((JobId.class.equals(Float.class) || JobId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (JobId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (JobId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(JobId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'JobId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'JobId'", e); + } + + // deserialize MobileAppBundleId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (MobileAppBundleId.class.equals(Integer.class) || MobileAppBundleId.class.equals(Long.class) || MobileAppBundleId.class.equals(Float.class) || MobileAppBundleId.class.equals(Double.class) || MobileAppBundleId.class.equals(Boolean.class) || MobileAppBundleId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((MobileAppBundleId.class.equals(Integer.class) || MobileAppBundleId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((MobileAppBundleId.class.equals(Float.class) || MobileAppBundleId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (MobileAppBundleId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (MobileAppBundleId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(MobileAppBundleId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'MobileAppBundleId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'MobileAppBundleId'", e); + } + + // deserialize MobileAppId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (MobileAppId.class.equals(Integer.class) || MobileAppId.class.equals(Long.class) || MobileAppId.class.equals(Float.class) || MobileAppId.class.equals(Double.class) || MobileAppId.class.equals(Boolean.class) || MobileAppId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((MobileAppId.class.equals(Integer.class) || MobileAppId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((MobileAppId.class.equals(Float.class) || MobileAppId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (MobileAppId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (MobileAppId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(MobileAppId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'MobileAppId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'MobileAppId'", e); + } + + // deserialize NotificationId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (NotificationId.class.equals(Integer.class) || NotificationId.class.equals(Long.class) || NotificationId.class.equals(Float.class) || NotificationId.class.equals(Double.class) || NotificationId.class.equals(Boolean.class) || NotificationId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((NotificationId.class.equals(Integer.class) || NotificationId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((NotificationId.class.equals(Float.class) || NotificationId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (NotificationId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (NotificationId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(NotificationId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'NotificationId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'NotificationId'", e); + } + + // deserialize NotificationRequestId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (NotificationRequestId.class.equals(Integer.class) || NotificationRequestId.class.equals(Long.class) || NotificationRequestId.class.equals(Float.class) || NotificationRequestId.class.equals(Double.class) || NotificationRequestId.class.equals(Boolean.class) || NotificationRequestId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((NotificationRequestId.class.equals(Integer.class) || NotificationRequestId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((NotificationRequestId.class.equals(Float.class) || NotificationRequestId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (NotificationRequestId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (NotificationRequestId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(NotificationRequestId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'NotificationRequestId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'NotificationRequestId'", e); + } + + // deserialize NotificationRuleId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (NotificationRuleId.class.equals(Integer.class) || NotificationRuleId.class.equals(Long.class) || NotificationRuleId.class.equals(Float.class) || NotificationRuleId.class.equals(Double.class) || NotificationRuleId.class.equals(Boolean.class) || NotificationRuleId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((NotificationRuleId.class.equals(Integer.class) || NotificationRuleId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((NotificationRuleId.class.equals(Float.class) || NotificationRuleId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (NotificationRuleId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (NotificationRuleId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(NotificationRuleId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'NotificationRuleId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'NotificationRuleId'", e); + } + + // deserialize NotificationTargetId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (NotificationTargetId.class.equals(Integer.class) || NotificationTargetId.class.equals(Long.class) || NotificationTargetId.class.equals(Float.class) || NotificationTargetId.class.equals(Double.class) || NotificationTargetId.class.equals(Boolean.class) || NotificationTargetId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((NotificationTargetId.class.equals(Integer.class) || NotificationTargetId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((NotificationTargetId.class.equals(Float.class) || NotificationTargetId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (NotificationTargetId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (NotificationTargetId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(NotificationTargetId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'NotificationTargetId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'NotificationTargetId'", e); + } + + // deserialize NotificationTemplateId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (NotificationTemplateId.class.equals(Integer.class) || NotificationTemplateId.class.equals(Long.class) || NotificationTemplateId.class.equals(Float.class) || NotificationTemplateId.class.equals(Double.class) || NotificationTemplateId.class.equals(Boolean.class) || NotificationTemplateId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((NotificationTemplateId.class.equals(Integer.class) || NotificationTemplateId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((NotificationTemplateId.class.equals(Float.class) || NotificationTemplateId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (NotificationTemplateId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (NotificationTemplateId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(NotificationTemplateId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'NotificationTemplateId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'NotificationTemplateId'", e); + } + + // deserialize OAuth2ClientId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (OAuth2ClientId.class.equals(Integer.class) || OAuth2ClientId.class.equals(Long.class) || OAuth2ClientId.class.equals(Float.class) || OAuth2ClientId.class.equals(Double.class) || OAuth2ClientId.class.equals(Boolean.class) || OAuth2ClientId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((OAuth2ClientId.class.equals(Integer.class) || OAuth2ClientId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((OAuth2ClientId.class.equals(Float.class) || OAuth2ClientId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (OAuth2ClientId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (OAuth2ClientId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(OAuth2ClientId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'OAuth2ClientId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'OAuth2ClientId'", e); + } + + // deserialize OtaPackageId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (OtaPackageId.class.equals(Integer.class) || OtaPackageId.class.equals(Long.class) || OtaPackageId.class.equals(Float.class) || OtaPackageId.class.equals(Double.class) || OtaPackageId.class.equals(Boolean.class) || OtaPackageId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((OtaPackageId.class.equals(Integer.class) || OtaPackageId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((OtaPackageId.class.equals(Float.class) || OtaPackageId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (OtaPackageId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (OtaPackageId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(OtaPackageId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'OtaPackageId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'OtaPackageId'", e); + } + + // deserialize QueueId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (QueueId.class.equals(Integer.class) || QueueId.class.equals(Long.class) || QueueId.class.equals(Float.class) || QueueId.class.equals(Double.class) || QueueId.class.equals(Boolean.class) || QueueId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((QueueId.class.equals(Integer.class) || QueueId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((QueueId.class.equals(Float.class) || QueueId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (QueueId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (QueueId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(QueueId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'QueueId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'QueueId'", e); + } + + // deserialize QueueStatsId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (QueueStatsId.class.equals(Integer.class) || QueueStatsId.class.equals(Long.class) || QueueStatsId.class.equals(Float.class) || QueueStatsId.class.equals(Double.class) || QueueStatsId.class.equals(Boolean.class) || QueueStatsId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((QueueStatsId.class.equals(Integer.class) || QueueStatsId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((QueueStatsId.class.equals(Float.class) || QueueStatsId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (QueueStatsId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (QueueStatsId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(QueueStatsId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'QueueStatsId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'QueueStatsId'", e); + } + + // deserialize ReportId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (ReportId.class.equals(Integer.class) || ReportId.class.equals(Long.class) || ReportId.class.equals(Float.class) || ReportId.class.equals(Double.class) || ReportId.class.equals(Boolean.class) || ReportId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((ReportId.class.equals(Integer.class) || ReportId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((ReportId.class.equals(Float.class) || ReportId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (ReportId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (ReportId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(ReportId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'ReportId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'ReportId'", e); + } + + // deserialize ReportTemplateId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (ReportTemplateId.class.equals(Integer.class) || ReportTemplateId.class.equals(Long.class) || ReportTemplateId.class.equals(Float.class) || ReportTemplateId.class.equals(Double.class) || ReportTemplateId.class.equals(Boolean.class) || ReportTemplateId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((ReportTemplateId.class.equals(Integer.class) || ReportTemplateId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((ReportTemplateId.class.equals(Float.class) || ReportTemplateId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (ReportTemplateId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (ReportTemplateId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(ReportTemplateId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'ReportTemplateId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'ReportTemplateId'", e); + } + + // deserialize RoleId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (RoleId.class.equals(Integer.class) || RoleId.class.equals(Long.class) || RoleId.class.equals(Float.class) || RoleId.class.equals(Double.class) || RoleId.class.equals(Boolean.class) || RoleId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((RoleId.class.equals(Integer.class) || RoleId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((RoleId.class.equals(Float.class) || RoleId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (RoleId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (RoleId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(RoleId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'RoleId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'RoleId'", e); + } + + // deserialize RpcId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (RpcId.class.equals(Integer.class) || RpcId.class.equals(Long.class) || RpcId.class.equals(Float.class) || RpcId.class.equals(Double.class) || RpcId.class.equals(Boolean.class) || RpcId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((RpcId.class.equals(Integer.class) || RpcId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((RpcId.class.equals(Float.class) || RpcId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (RpcId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (RpcId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(RpcId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'RpcId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'RpcId'", e); + } + + // deserialize RuleChainId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (RuleChainId.class.equals(Integer.class) || RuleChainId.class.equals(Long.class) || RuleChainId.class.equals(Float.class) || RuleChainId.class.equals(Double.class) || RuleChainId.class.equals(Boolean.class) || RuleChainId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((RuleChainId.class.equals(Integer.class) || RuleChainId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((RuleChainId.class.equals(Float.class) || RuleChainId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (RuleChainId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (RuleChainId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(RuleChainId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'RuleChainId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'RuleChainId'", e); + } + + // deserialize RuleNodeId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (RuleNodeId.class.equals(Integer.class) || RuleNodeId.class.equals(Long.class) || RuleNodeId.class.equals(Float.class) || RuleNodeId.class.equals(Double.class) || RuleNodeId.class.equals(Boolean.class) || RuleNodeId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((RuleNodeId.class.equals(Integer.class) || RuleNodeId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((RuleNodeId.class.equals(Float.class) || RuleNodeId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (RuleNodeId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (RuleNodeId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(RuleNodeId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'RuleNodeId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'RuleNodeId'", e); + } + + // deserialize SchedulerEventId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (SchedulerEventId.class.equals(Integer.class) || SchedulerEventId.class.equals(Long.class) || SchedulerEventId.class.equals(Float.class) || SchedulerEventId.class.equals(Double.class) || SchedulerEventId.class.equals(Boolean.class) || SchedulerEventId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((SchedulerEventId.class.equals(Integer.class) || SchedulerEventId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((SchedulerEventId.class.equals(Float.class) || SchedulerEventId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (SchedulerEventId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (SchedulerEventId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(SchedulerEventId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'SchedulerEventId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'SchedulerEventId'", e); + } + + // deserialize SecretId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (SecretId.class.equals(Integer.class) || SecretId.class.equals(Long.class) || SecretId.class.equals(Float.class) || SecretId.class.equals(Double.class) || SecretId.class.equals(Boolean.class) || SecretId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((SecretId.class.equals(Integer.class) || SecretId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((SecretId.class.equals(Float.class) || SecretId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (SecretId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (SecretId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(SecretId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'SecretId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'SecretId'", e); + } + + // deserialize TbResourceId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (TbResourceId.class.equals(Integer.class) || TbResourceId.class.equals(Long.class) || TbResourceId.class.equals(Float.class) || TbResourceId.class.equals(Double.class) || TbResourceId.class.equals(Boolean.class) || TbResourceId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((TbResourceId.class.equals(Integer.class) || TbResourceId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((TbResourceId.class.equals(Float.class) || TbResourceId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (TbResourceId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (TbResourceId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(TbResourceId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'TbResourceId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'TbResourceId'", e); + } + + // deserialize TenantId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (TenantId.class.equals(Integer.class) || TenantId.class.equals(Long.class) || TenantId.class.equals(Float.class) || TenantId.class.equals(Double.class) || TenantId.class.equals(Boolean.class) || TenantId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((TenantId.class.equals(Integer.class) || TenantId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((TenantId.class.equals(Float.class) || TenantId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (TenantId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (TenantId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(TenantId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'TenantId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'TenantId'", e); + } + + // deserialize TenantProfileId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (TenantProfileId.class.equals(Integer.class) || TenantProfileId.class.equals(Long.class) || TenantProfileId.class.equals(Float.class) || TenantProfileId.class.equals(Double.class) || TenantProfileId.class.equals(Boolean.class) || TenantProfileId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((TenantProfileId.class.equals(Integer.class) || TenantProfileId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((TenantProfileId.class.equals(Float.class) || TenantProfileId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (TenantProfileId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (TenantProfileId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(TenantProfileId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'TenantProfileId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'TenantProfileId'", e); + } + + // deserialize UserId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (UserId.class.equals(Integer.class) || UserId.class.equals(Long.class) || UserId.class.equals(Float.class) || UserId.class.equals(Double.class) || UserId.class.equals(Boolean.class) || UserId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((UserId.class.equals(Integer.class) || UserId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((UserId.class.equals(Float.class) || UserId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (UserId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (UserId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(UserId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'UserId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'UserId'", e); + } + + // deserialize WidgetTypeId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (WidgetTypeId.class.equals(Integer.class) || WidgetTypeId.class.equals(Long.class) || WidgetTypeId.class.equals(Float.class) || WidgetTypeId.class.equals(Double.class) || WidgetTypeId.class.equals(Boolean.class) || WidgetTypeId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((WidgetTypeId.class.equals(Integer.class) || WidgetTypeId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((WidgetTypeId.class.equals(Float.class) || WidgetTypeId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (WidgetTypeId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (WidgetTypeId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(WidgetTypeId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'WidgetTypeId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'WidgetTypeId'", e); + } + + // deserialize WidgetsBundleId + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (WidgetsBundleId.class.equals(Integer.class) || WidgetsBundleId.class.equals(Long.class) || WidgetsBundleId.class.equals(Float.class) || WidgetsBundleId.class.equals(Double.class) || WidgetsBundleId.class.equals(Boolean.class) || WidgetsBundleId.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= ((WidgetsBundleId.class.equals(Integer.class) || WidgetsBundleId.class.equals(Long.class)) && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= ((WidgetsBundleId.class.equals(Float.class) || WidgetsBundleId.class.equals(Double.class)) && token == JsonToken.VALUE_NUMBER_FLOAT); + attemptParsing |= (WidgetsBundleId.class.equals(Boolean.class) && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= (WidgetsBundleId.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + deserialized = tree.traverse(jp.getCodec()).readValueAs(WidgetsBundleId.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + match++; + log.log(Level.FINER, "Input data matches schema 'WidgetsBundleId'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'WidgetsBundleId'", e); + } + + if (match == 1) { + GetManagedRelatedEntityIds200ResponseInner ret = new GetManagedRelatedEntityIds200ResponseInner(); + ret.setActualInstance(deserialized); + return ret; + } + throw new IOException(String.format(java.util.Locale.ROOT, "Failed deserialization for GetManagedRelatedEntityIds200ResponseInner: %d classes match result, expected 1", match)); + } + + /** + * Handle deserialization of the 'null' value. + */ + @Override + public GetManagedRelatedEntityIds200ResponseInner getNullValue(DeserializationContext ctxt) throws JsonMappingException { + throw new JsonMappingException(ctxt.getParser(), "GetManagedRelatedEntityIds200ResponseInner cannot be null"); + } + } + + // store a list of schema names defined in oneOf + public static final Map> schemas = new HashMap<>(); + + public GetManagedRelatedEntityIds200ResponseInner() { + super("oneOf", Boolean.FALSE); + } + + public GetManagedRelatedEntityIds200ResponseInner(AdminSettingsId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(AgentAppEventId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(AgentAppProfileId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(AgentAppUnitId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(AgentApplicationId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(AgentBulkActionId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(AgentId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(AgentProfileId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(AiModelId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(AlarmId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(ApiKeyId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(ApiUsageStateId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(AssetId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(AssetProfileId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(BlobEntityId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(CalculatedFieldId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(ConverterId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(CustomerId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(DashboardId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(DeviceId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(DeviceProfileId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(DomainId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(EdgeId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(EntityGroupId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(EntityViewId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(GroupPermissionId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(IntegrationId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(JobId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(MobileAppBundleId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(MobileAppId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(NotificationId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(NotificationRequestId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(NotificationRuleId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(NotificationTargetId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(NotificationTemplateId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(OAuth2ClientId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(OtaPackageId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(QueueId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(QueueStatsId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(ReportId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(ReportTemplateId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(RoleId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(RpcId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(RuleChainId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(RuleNodeId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(SchedulerEventId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(SecretId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(TbResourceId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(TenantId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(TenantProfileId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(UserId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(WidgetTypeId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public GetManagedRelatedEntityIds200ResponseInner(WidgetsBundleId o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + static { + schemas.put("AdminSettingsId", AdminSettingsId.class); + schemas.put("AgentAppEventId", AgentAppEventId.class); + schemas.put("AgentAppProfileId", AgentAppProfileId.class); + schemas.put("AgentAppUnitId", AgentAppUnitId.class); + schemas.put("AgentApplicationId", AgentApplicationId.class); + schemas.put("AgentBulkActionId", AgentBulkActionId.class); + schemas.put("AgentId", AgentId.class); + schemas.put("AgentProfileId", AgentProfileId.class); + schemas.put("AiModelId", AiModelId.class); + schemas.put("AlarmId", AlarmId.class); + schemas.put("ApiKeyId", ApiKeyId.class); + schemas.put("ApiUsageStateId", ApiUsageStateId.class); + schemas.put("AssetId", AssetId.class); + schemas.put("AssetProfileId", AssetProfileId.class); + schemas.put("BlobEntityId", BlobEntityId.class); + schemas.put("CalculatedFieldId", CalculatedFieldId.class); + schemas.put("ConverterId", ConverterId.class); + schemas.put("CustomerId", CustomerId.class); + schemas.put("DashboardId", DashboardId.class); + schemas.put("DeviceId", DeviceId.class); + schemas.put("DeviceProfileId", DeviceProfileId.class); + schemas.put("DomainId", DomainId.class); + schemas.put("EdgeId", EdgeId.class); + schemas.put("EntityGroupId", EntityGroupId.class); + schemas.put("EntityViewId", EntityViewId.class); + schemas.put("GroupPermissionId", GroupPermissionId.class); + schemas.put("IntegrationId", IntegrationId.class); + schemas.put("JobId", JobId.class); + schemas.put("MobileAppBundleId", MobileAppBundleId.class); + schemas.put("MobileAppId", MobileAppId.class); + schemas.put("NotificationId", NotificationId.class); + schemas.put("NotificationRequestId", NotificationRequestId.class); + schemas.put("NotificationRuleId", NotificationRuleId.class); + schemas.put("NotificationTargetId", NotificationTargetId.class); + schemas.put("NotificationTemplateId", NotificationTemplateId.class); + schemas.put("OAuth2ClientId", OAuth2ClientId.class); + schemas.put("OtaPackageId", OtaPackageId.class); + schemas.put("QueueId", QueueId.class); + schemas.put("QueueStatsId", QueueStatsId.class); + schemas.put("ReportId", ReportId.class); + schemas.put("ReportTemplateId", ReportTemplateId.class); + schemas.put("RoleId", RoleId.class); + schemas.put("RpcId", RpcId.class); + schemas.put("RuleChainId", RuleChainId.class); + schemas.put("RuleNodeId", RuleNodeId.class); + schemas.put("SchedulerEventId", SchedulerEventId.class); + schemas.put("SecretId", SecretId.class); + schemas.put("TbResourceId", TbResourceId.class); + schemas.put("TenantId", TenantId.class); + schemas.put("TenantProfileId", TenantProfileId.class); + schemas.put("UserId", UserId.class); + schemas.put("WidgetTypeId", WidgetTypeId.class); + schemas.put("WidgetsBundleId", WidgetsBundleId.class); + JSON.registerDescendants(GetManagedRelatedEntityIds200ResponseInner.class, Collections.unmodifiableMap(schemas)); + // Initialize and register the discriminator mappings. + Map> mappings = new HashMap>(); + mappings.put("ADMIN_SETTINGS", AdminSettingsId.class); + mappings.put("AGENT", AgentId.class); + mappings.put("AGENT_APPLICATION", AgentApplicationId.class); + mappings.put("AGENT_APP_EVENT", AgentAppEventId.class); + mappings.put("AGENT_APP_PROFILE", AgentAppProfileId.class); + mappings.put("AGENT_APP_UNIT", AgentAppUnitId.class); + mappings.put("AGENT_BULK_ACTION", AgentBulkActionId.class); + mappings.put("AGENT_PROFILE", AgentProfileId.class); + mappings.put("AI_MODEL", AiModelId.class); + mappings.put("ALARM", AlarmId.class); + mappings.put("API_KEY", ApiKeyId.class); + mappings.put("API_USAGE_STATE", ApiUsageStateId.class); + mappings.put("ASSET", AssetId.class); + mappings.put("ASSET_PROFILE", AssetProfileId.class); + mappings.put("BLOB_ENTITY", BlobEntityId.class); + mappings.put("CALCULATED_FIELD", CalculatedFieldId.class); + mappings.put("CONVERTER", ConverterId.class); + mappings.put("CUSTOMER", CustomerId.class); + mappings.put("DASHBOARD", DashboardId.class); + mappings.put("DEVICE", DeviceId.class); + mappings.put("DEVICE_PROFILE", DeviceProfileId.class); + mappings.put("DOMAIN", DomainId.class); + mappings.put("EDGE", EdgeId.class); + mappings.put("ENTITY_GROUP", EntityGroupId.class); + mappings.put("ENTITY_VIEW", EntityViewId.class); + mappings.put("GROUP_PERMISSION", GroupPermissionId.class); + mappings.put("INTEGRATION", IntegrationId.class); + mappings.put("JOB", JobId.class); + mappings.put("MOBILE_APP", MobileAppId.class); + mappings.put("MOBILE_APP_BUNDLE", MobileAppBundleId.class); + mappings.put("NOTIFICATION", NotificationId.class); + mappings.put("NOTIFICATION_REQUEST", NotificationRequestId.class); + mappings.put("NOTIFICATION_RULE", NotificationRuleId.class); + mappings.put("NOTIFICATION_TARGET", NotificationTargetId.class); + mappings.put("NOTIFICATION_TEMPLATE", NotificationTemplateId.class); + mappings.put("OAUTH2_CLIENT", OAuth2ClientId.class); + mappings.put("OTA_PACKAGE", OtaPackageId.class); + mappings.put("QUEUE", QueueId.class); + mappings.put("QUEUE_STATS", QueueStatsId.class); + mappings.put("REPORT", ReportId.class); + mappings.put("REPORT_TEMPLATE", ReportTemplateId.class); + mappings.put("ROLE", RoleId.class); + mappings.put("RPC", RpcId.class); + mappings.put("RULE_CHAIN", RuleChainId.class); + mappings.put("RULE_NODE", RuleNodeId.class); + mappings.put("SCHEDULER_EVENT", SchedulerEventId.class); + mappings.put("SECRET", SecretId.class); + mappings.put("TB_RESOURCE", TbResourceId.class); + mappings.put("TENANT", TenantId.class); + mappings.put("TENANT_PROFILE", TenantProfileId.class); + mappings.put("USER", UserId.class); + mappings.put("WIDGETS_BUNDLE", WidgetsBundleId.class); + mappings.put("WIDGET_TYPE", WidgetTypeId.class); + mappings.put("getManagedRelatedEntityIds_200_response_inner", GetManagedRelatedEntityIds200ResponseInner.class); + JSON.registerDiscriminator(GetManagedRelatedEntityIds200ResponseInner.class, "entityType", mappings); + } + + @Override + public Map> getSchemas() { + return GetManagedRelatedEntityIds200ResponseInner.schemas; + } + + /** + * Set the instance that matches the oneOf child schema, check + * the instance parameter is valid against the oneOf child schemas: + * AdminSettingsId, AgentAppEventId, AgentAppProfileId, AgentAppUnitId, AgentApplicationId, AgentBulkActionId, AgentId, AgentProfileId, AiModelId, AlarmId, ApiKeyId, ApiUsageStateId, AssetId, AssetProfileId, BlobEntityId, CalculatedFieldId, ConverterId, CustomerId, DashboardId, DeviceId, DeviceProfileId, DomainId, EdgeId, EntityGroupId, EntityViewId, GroupPermissionId, IntegrationId, JobId, MobileAppBundleId, MobileAppId, NotificationId, NotificationRequestId, NotificationRuleId, NotificationTargetId, NotificationTemplateId, OAuth2ClientId, OtaPackageId, QueueId, QueueStatsId, ReportId, ReportTemplateId, RoleId, RpcId, RuleChainId, RuleNodeId, SchedulerEventId, SecretId, TbResourceId, TenantId, TenantProfileId, UserId, WidgetTypeId, WidgetsBundleId + * + * It could be an instance of the 'oneOf' schemas. + * The oneOf child schemas may themselves be a composed schema (allOf, anyOf, oneOf). + */ + @Override + public void setActualInstance(Object instance) { + if (JSON.isInstanceOf(AdminSettingsId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(AgentAppEventId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(AgentAppProfileId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(AgentAppUnitId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(AgentApplicationId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(AgentBulkActionId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(AgentId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(AgentProfileId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(AiModelId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(AlarmId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(ApiKeyId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(ApiUsageStateId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(AssetId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(AssetProfileId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(BlobEntityId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(CalculatedFieldId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(ConverterId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(CustomerId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(DashboardId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(DeviceId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(DeviceProfileId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(DomainId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(EdgeId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(EntityGroupId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(EntityViewId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(GroupPermissionId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(IntegrationId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(JobId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(MobileAppBundleId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(MobileAppId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(NotificationId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(NotificationRequestId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(NotificationRuleId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(NotificationTargetId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(NotificationTemplateId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(OAuth2ClientId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(OtaPackageId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(QueueId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(QueueStatsId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(ReportId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(ReportTemplateId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(RoleId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(RpcId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(RuleChainId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(RuleNodeId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(SchedulerEventId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(SecretId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(TbResourceId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(TenantId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(TenantProfileId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(UserId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(WidgetTypeId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(WidgetsBundleId.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + + throw new RuntimeException("Invalid instance type. Must be AdminSettingsId, AgentAppEventId, AgentAppProfileId, AgentAppUnitId, AgentApplicationId, AgentBulkActionId, AgentId, AgentProfileId, AiModelId, AlarmId, ApiKeyId, ApiUsageStateId, AssetId, AssetProfileId, BlobEntityId, CalculatedFieldId, ConverterId, CustomerId, DashboardId, DeviceId, DeviceProfileId, DomainId, EdgeId, EntityGroupId, EntityViewId, GroupPermissionId, IntegrationId, JobId, MobileAppBundleId, MobileAppId, NotificationId, NotificationRequestId, NotificationRuleId, NotificationTargetId, NotificationTemplateId, OAuth2ClientId, OtaPackageId, QueueId, QueueStatsId, ReportId, ReportTemplateId, RoleId, RpcId, RuleChainId, RuleNodeId, SchedulerEventId, SecretId, TbResourceId, TenantId, TenantProfileId, UserId, WidgetTypeId, WidgetsBundleId"); + } + + /** + * Get the actual instance, which can be the following: + * AdminSettingsId, AgentAppEventId, AgentAppProfileId, AgentAppUnitId, AgentApplicationId, AgentBulkActionId, AgentId, AgentProfileId, AiModelId, AlarmId, ApiKeyId, ApiUsageStateId, AssetId, AssetProfileId, BlobEntityId, CalculatedFieldId, ConverterId, CustomerId, DashboardId, DeviceId, DeviceProfileId, DomainId, EdgeId, EntityGroupId, EntityViewId, GroupPermissionId, IntegrationId, JobId, MobileAppBundleId, MobileAppId, NotificationId, NotificationRequestId, NotificationRuleId, NotificationTargetId, NotificationTemplateId, OAuth2ClientId, OtaPackageId, QueueId, QueueStatsId, ReportId, ReportTemplateId, RoleId, RpcId, RuleChainId, RuleNodeId, SchedulerEventId, SecretId, TbResourceId, TenantId, TenantProfileId, UserId, WidgetTypeId, WidgetsBundleId + * + * @return The actual instance (AdminSettingsId, AgentAppEventId, AgentAppProfileId, AgentAppUnitId, AgentApplicationId, AgentBulkActionId, AgentId, AgentProfileId, AiModelId, AlarmId, ApiKeyId, ApiUsageStateId, AssetId, AssetProfileId, BlobEntityId, CalculatedFieldId, ConverterId, CustomerId, DashboardId, DeviceId, DeviceProfileId, DomainId, EdgeId, EntityGroupId, EntityViewId, GroupPermissionId, IntegrationId, JobId, MobileAppBundleId, MobileAppId, NotificationId, NotificationRequestId, NotificationRuleId, NotificationTargetId, NotificationTemplateId, OAuth2ClientId, OtaPackageId, QueueId, QueueStatsId, ReportId, ReportTemplateId, RoleId, RpcId, RuleChainId, RuleNodeId, SchedulerEventId, SecretId, TbResourceId, TenantId, TenantProfileId, UserId, WidgetTypeId, WidgetsBundleId) + */ + @Override + public Object getActualInstance() { + return super.getActualInstance(); + } + + /** + * Get the actual instance of `AdminSettingsId`. If the actual instance is not `AdminSettingsId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `AdminSettingsId` + * @throws ClassCastException if the instance is not `AdminSettingsId` + */ + public AdminSettingsId getAdminSettingsId() throws ClassCastException { + return (AdminSettingsId)super.getActualInstance(); + } + + /** + * Get the actual instance of `AgentAppEventId`. If the actual instance is not `AgentAppEventId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `AgentAppEventId` + * @throws ClassCastException if the instance is not `AgentAppEventId` + */ + public AgentAppEventId getAgentAppEventId() throws ClassCastException { + return (AgentAppEventId)super.getActualInstance(); + } + + /** + * Get the actual instance of `AgentAppProfileId`. If the actual instance is not `AgentAppProfileId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `AgentAppProfileId` + * @throws ClassCastException if the instance is not `AgentAppProfileId` + */ + public AgentAppProfileId getAgentAppProfileId() throws ClassCastException { + return (AgentAppProfileId)super.getActualInstance(); + } + + /** + * Get the actual instance of `AgentAppUnitId`. If the actual instance is not `AgentAppUnitId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `AgentAppUnitId` + * @throws ClassCastException if the instance is not `AgentAppUnitId` + */ + public AgentAppUnitId getAgentAppUnitId() throws ClassCastException { + return (AgentAppUnitId)super.getActualInstance(); + } + + /** + * Get the actual instance of `AgentApplicationId`. If the actual instance is not `AgentApplicationId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `AgentApplicationId` + * @throws ClassCastException if the instance is not `AgentApplicationId` + */ + public AgentApplicationId getAgentApplicationId() throws ClassCastException { + return (AgentApplicationId)super.getActualInstance(); + } + + /** + * Get the actual instance of `AgentBulkActionId`. If the actual instance is not `AgentBulkActionId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `AgentBulkActionId` + * @throws ClassCastException if the instance is not `AgentBulkActionId` + */ + public AgentBulkActionId getAgentBulkActionId() throws ClassCastException { + return (AgentBulkActionId)super.getActualInstance(); + } + + /** + * Get the actual instance of `AgentId`. If the actual instance is not `AgentId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `AgentId` + * @throws ClassCastException if the instance is not `AgentId` + */ + public AgentId getAgentId() throws ClassCastException { + return (AgentId)super.getActualInstance(); + } + + /** + * Get the actual instance of `AgentProfileId`. If the actual instance is not `AgentProfileId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `AgentProfileId` + * @throws ClassCastException if the instance is not `AgentProfileId` + */ + public AgentProfileId getAgentProfileId() throws ClassCastException { + return (AgentProfileId)super.getActualInstance(); + } + + /** + * Get the actual instance of `AiModelId`. If the actual instance is not `AiModelId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `AiModelId` + * @throws ClassCastException if the instance is not `AiModelId` + */ + public AiModelId getAiModelId() throws ClassCastException { + return (AiModelId)super.getActualInstance(); + } + + /** + * Get the actual instance of `AlarmId`. If the actual instance is not `AlarmId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `AlarmId` + * @throws ClassCastException if the instance is not `AlarmId` + */ + public AlarmId getAlarmId() throws ClassCastException { + return (AlarmId)super.getActualInstance(); + } + + /** + * Get the actual instance of `ApiKeyId`. If the actual instance is not `ApiKeyId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `ApiKeyId` + * @throws ClassCastException if the instance is not `ApiKeyId` + */ + public ApiKeyId getApiKeyId() throws ClassCastException { + return (ApiKeyId)super.getActualInstance(); + } + + /** + * Get the actual instance of `ApiUsageStateId`. If the actual instance is not `ApiUsageStateId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `ApiUsageStateId` + * @throws ClassCastException if the instance is not `ApiUsageStateId` + */ + public ApiUsageStateId getApiUsageStateId() throws ClassCastException { + return (ApiUsageStateId)super.getActualInstance(); + } + + /** + * Get the actual instance of `AssetId`. If the actual instance is not `AssetId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `AssetId` + * @throws ClassCastException if the instance is not `AssetId` + */ + public AssetId getAssetId() throws ClassCastException { + return (AssetId)super.getActualInstance(); + } + + /** + * Get the actual instance of `AssetProfileId`. If the actual instance is not `AssetProfileId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `AssetProfileId` + * @throws ClassCastException if the instance is not `AssetProfileId` + */ + public AssetProfileId getAssetProfileId() throws ClassCastException { + return (AssetProfileId)super.getActualInstance(); + } + + /** + * Get the actual instance of `BlobEntityId`. If the actual instance is not `BlobEntityId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `BlobEntityId` + * @throws ClassCastException if the instance is not `BlobEntityId` + */ + public BlobEntityId getBlobEntityId() throws ClassCastException { + return (BlobEntityId)super.getActualInstance(); + } + + /** + * Get the actual instance of `CalculatedFieldId`. If the actual instance is not `CalculatedFieldId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `CalculatedFieldId` + * @throws ClassCastException if the instance is not `CalculatedFieldId` + */ + public CalculatedFieldId getCalculatedFieldId() throws ClassCastException { + return (CalculatedFieldId)super.getActualInstance(); + } + + /** + * Get the actual instance of `ConverterId`. If the actual instance is not `ConverterId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `ConverterId` + * @throws ClassCastException if the instance is not `ConverterId` + */ + public ConverterId getConverterId() throws ClassCastException { + return (ConverterId)super.getActualInstance(); + } + + /** + * Get the actual instance of `CustomerId`. If the actual instance is not `CustomerId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `CustomerId` + * @throws ClassCastException if the instance is not `CustomerId` + */ + public CustomerId getCustomerId() throws ClassCastException { + return (CustomerId)super.getActualInstance(); + } + + /** + * Get the actual instance of `DashboardId`. If the actual instance is not `DashboardId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `DashboardId` + * @throws ClassCastException if the instance is not `DashboardId` + */ + public DashboardId getDashboardId() throws ClassCastException { + return (DashboardId)super.getActualInstance(); + } + + /** + * Get the actual instance of `DeviceId`. If the actual instance is not `DeviceId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `DeviceId` + * @throws ClassCastException if the instance is not `DeviceId` + */ + public DeviceId getDeviceId() throws ClassCastException { + return (DeviceId)super.getActualInstance(); + } + + /** + * Get the actual instance of `DeviceProfileId`. If the actual instance is not `DeviceProfileId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `DeviceProfileId` + * @throws ClassCastException if the instance is not `DeviceProfileId` + */ + public DeviceProfileId getDeviceProfileId() throws ClassCastException { + return (DeviceProfileId)super.getActualInstance(); + } + + /** + * Get the actual instance of `DomainId`. If the actual instance is not `DomainId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `DomainId` + * @throws ClassCastException if the instance is not `DomainId` + */ + public DomainId getDomainId() throws ClassCastException { + return (DomainId)super.getActualInstance(); + } + + /** + * Get the actual instance of `EdgeId`. If the actual instance is not `EdgeId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `EdgeId` + * @throws ClassCastException if the instance is not `EdgeId` + */ + public EdgeId getEdgeId() throws ClassCastException { + return (EdgeId)super.getActualInstance(); + } + + /** + * Get the actual instance of `EntityGroupId`. If the actual instance is not `EntityGroupId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `EntityGroupId` + * @throws ClassCastException if the instance is not `EntityGroupId` + */ + public EntityGroupId getEntityGroupId() throws ClassCastException { + return (EntityGroupId)super.getActualInstance(); + } + + /** + * Get the actual instance of `EntityViewId`. If the actual instance is not `EntityViewId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `EntityViewId` + * @throws ClassCastException if the instance is not `EntityViewId` + */ + public EntityViewId getEntityViewId() throws ClassCastException { + return (EntityViewId)super.getActualInstance(); + } + + /** + * Get the actual instance of `GroupPermissionId`. If the actual instance is not `GroupPermissionId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `GroupPermissionId` + * @throws ClassCastException if the instance is not `GroupPermissionId` + */ + public GroupPermissionId getGroupPermissionId() throws ClassCastException { + return (GroupPermissionId)super.getActualInstance(); + } + + /** + * Get the actual instance of `IntegrationId`. If the actual instance is not `IntegrationId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `IntegrationId` + * @throws ClassCastException if the instance is not `IntegrationId` + */ + public IntegrationId getIntegrationId() throws ClassCastException { + return (IntegrationId)super.getActualInstance(); + } + + /** + * Get the actual instance of `JobId`. If the actual instance is not `JobId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `JobId` + * @throws ClassCastException if the instance is not `JobId` + */ + public JobId getJobId() throws ClassCastException { + return (JobId)super.getActualInstance(); + } + + /** + * Get the actual instance of `MobileAppBundleId`. If the actual instance is not `MobileAppBundleId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `MobileAppBundleId` + * @throws ClassCastException if the instance is not `MobileAppBundleId` + */ + public MobileAppBundleId getMobileAppBundleId() throws ClassCastException { + return (MobileAppBundleId)super.getActualInstance(); + } + + /** + * Get the actual instance of `MobileAppId`. If the actual instance is not `MobileAppId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `MobileAppId` + * @throws ClassCastException if the instance is not `MobileAppId` + */ + public MobileAppId getMobileAppId() throws ClassCastException { + return (MobileAppId)super.getActualInstance(); + } + + /** + * Get the actual instance of `NotificationId`. If the actual instance is not `NotificationId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `NotificationId` + * @throws ClassCastException if the instance is not `NotificationId` + */ + public NotificationId getNotificationId() throws ClassCastException { + return (NotificationId)super.getActualInstance(); + } + + /** + * Get the actual instance of `NotificationRequestId`. If the actual instance is not `NotificationRequestId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `NotificationRequestId` + * @throws ClassCastException if the instance is not `NotificationRequestId` + */ + public NotificationRequestId getNotificationRequestId() throws ClassCastException { + return (NotificationRequestId)super.getActualInstance(); + } + + /** + * Get the actual instance of `NotificationRuleId`. If the actual instance is not `NotificationRuleId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `NotificationRuleId` + * @throws ClassCastException if the instance is not `NotificationRuleId` + */ + public NotificationRuleId getNotificationRuleId() throws ClassCastException { + return (NotificationRuleId)super.getActualInstance(); + } + + /** + * Get the actual instance of `NotificationTargetId`. If the actual instance is not `NotificationTargetId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `NotificationTargetId` + * @throws ClassCastException if the instance is not `NotificationTargetId` + */ + public NotificationTargetId getNotificationTargetId() throws ClassCastException { + return (NotificationTargetId)super.getActualInstance(); + } + + /** + * Get the actual instance of `NotificationTemplateId`. If the actual instance is not `NotificationTemplateId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `NotificationTemplateId` + * @throws ClassCastException if the instance is not `NotificationTemplateId` + */ + public NotificationTemplateId getNotificationTemplateId() throws ClassCastException { + return (NotificationTemplateId)super.getActualInstance(); + } + + /** + * Get the actual instance of `OAuth2ClientId`. If the actual instance is not `OAuth2ClientId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `OAuth2ClientId` + * @throws ClassCastException if the instance is not `OAuth2ClientId` + */ + public OAuth2ClientId getOAuth2ClientId() throws ClassCastException { + return (OAuth2ClientId)super.getActualInstance(); + } + + /** + * Get the actual instance of `OtaPackageId`. If the actual instance is not `OtaPackageId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `OtaPackageId` + * @throws ClassCastException if the instance is not `OtaPackageId` + */ + public OtaPackageId getOtaPackageId() throws ClassCastException { + return (OtaPackageId)super.getActualInstance(); + } + + /** + * Get the actual instance of `QueueId`. If the actual instance is not `QueueId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `QueueId` + * @throws ClassCastException if the instance is not `QueueId` + */ + public QueueId getQueueId() throws ClassCastException { + return (QueueId)super.getActualInstance(); + } + + /** + * Get the actual instance of `QueueStatsId`. If the actual instance is not `QueueStatsId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `QueueStatsId` + * @throws ClassCastException if the instance is not `QueueStatsId` + */ + public QueueStatsId getQueueStatsId() throws ClassCastException { + return (QueueStatsId)super.getActualInstance(); + } + + /** + * Get the actual instance of `ReportId`. If the actual instance is not `ReportId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `ReportId` + * @throws ClassCastException if the instance is not `ReportId` + */ + public ReportId getReportId() throws ClassCastException { + return (ReportId)super.getActualInstance(); + } + + /** + * Get the actual instance of `ReportTemplateId`. If the actual instance is not `ReportTemplateId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `ReportTemplateId` + * @throws ClassCastException if the instance is not `ReportTemplateId` + */ + public ReportTemplateId getReportTemplateId() throws ClassCastException { + return (ReportTemplateId)super.getActualInstance(); + } + + /** + * Get the actual instance of `RoleId`. If the actual instance is not `RoleId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `RoleId` + * @throws ClassCastException if the instance is not `RoleId` + */ + public RoleId getRoleId() throws ClassCastException { + return (RoleId)super.getActualInstance(); + } + + /** + * Get the actual instance of `RpcId`. If the actual instance is not `RpcId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `RpcId` + * @throws ClassCastException if the instance is not `RpcId` + */ + public RpcId getRpcId() throws ClassCastException { + return (RpcId)super.getActualInstance(); + } + + /** + * Get the actual instance of `RuleChainId`. If the actual instance is not `RuleChainId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `RuleChainId` + * @throws ClassCastException if the instance is not `RuleChainId` + */ + public RuleChainId getRuleChainId() throws ClassCastException { + return (RuleChainId)super.getActualInstance(); + } + + /** + * Get the actual instance of `RuleNodeId`. If the actual instance is not `RuleNodeId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `RuleNodeId` + * @throws ClassCastException if the instance is not `RuleNodeId` + */ + public RuleNodeId getRuleNodeId() throws ClassCastException { + return (RuleNodeId)super.getActualInstance(); + } + + /** + * Get the actual instance of `SchedulerEventId`. If the actual instance is not `SchedulerEventId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `SchedulerEventId` + * @throws ClassCastException if the instance is not `SchedulerEventId` + */ + public SchedulerEventId getSchedulerEventId() throws ClassCastException { + return (SchedulerEventId)super.getActualInstance(); + } + + /** + * Get the actual instance of `SecretId`. If the actual instance is not `SecretId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `SecretId` + * @throws ClassCastException if the instance is not `SecretId` + */ + public SecretId getSecretId() throws ClassCastException { + return (SecretId)super.getActualInstance(); + } + + /** + * Get the actual instance of `TbResourceId`. If the actual instance is not `TbResourceId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `TbResourceId` + * @throws ClassCastException if the instance is not `TbResourceId` + */ + public TbResourceId getTbResourceId() throws ClassCastException { + return (TbResourceId)super.getActualInstance(); + } + + /** + * Get the actual instance of `TenantId`. If the actual instance is not `TenantId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `TenantId` + * @throws ClassCastException if the instance is not `TenantId` + */ + public TenantId getTenantId() throws ClassCastException { + return (TenantId)super.getActualInstance(); + } + + /** + * Get the actual instance of `TenantProfileId`. If the actual instance is not `TenantProfileId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `TenantProfileId` + * @throws ClassCastException if the instance is not `TenantProfileId` + */ + public TenantProfileId getTenantProfileId() throws ClassCastException { + return (TenantProfileId)super.getActualInstance(); + } + + /** + * Get the actual instance of `UserId`. If the actual instance is not `UserId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `UserId` + * @throws ClassCastException if the instance is not `UserId` + */ + public UserId getUserId() throws ClassCastException { + return (UserId)super.getActualInstance(); + } + + /** + * Get the actual instance of `WidgetTypeId`. If the actual instance is not `WidgetTypeId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `WidgetTypeId` + * @throws ClassCastException if the instance is not `WidgetTypeId` + */ + public WidgetTypeId getWidgetTypeId() throws ClassCastException { + return (WidgetTypeId)super.getActualInstance(); + } + + /** + * Get the actual instance of `WidgetsBundleId`. If the actual instance is not `WidgetsBundleId`, + * the ClassCastException will be thrown. + * + * @return The actual instance of `WidgetsBundleId` + * @throws ClassCastException if the instance is not `WidgetsBundleId` + */ + public WidgetsBundleId getWidgetsBundleId() throws ClassCastException { + return (WidgetsBundleId)super.getActualInstance(); + } + + + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + if (getActualInstance() instanceof AdminSettingsId) { + if (getActualInstance() != null) { + joiner.add(((AdminSettingsId)getActualInstance()).toUrlQueryString(prefix + "one_of_0" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof AgentAppEventId) { + if (getActualInstance() != null) { + joiner.add(((AgentAppEventId)getActualInstance()).toUrlQueryString(prefix + "one_of_1" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof AgentAppProfileId) { + if (getActualInstance() != null) { + joiner.add(((AgentAppProfileId)getActualInstance()).toUrlQueryString(prefix + "one_of_2" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof AgentAppUnitId) { + if (getActualInstance() != null) { + joiner.add(((AgentAppUnitId)getActualInstance()).toUrlQueryString(prefix + "one_of_3" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof AgentApplicationId) { + if (getActualInstance() != null) { + joiner.add(((AgentApplicationId)getActualInstance()).toUrlQueryString(prefix + "one_of_4" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof AgentBulkActionId) { + if (getActualInstance() != null) { + joiner.add(((AgentBulkActionId)getActualInstance()).toUrlQueryString(prefix + "one_of_5" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof AgentId) { + if (getActualInstance() != null) { + joiner.add(((AgentId)getActualInstance()).toUrlQueryString(prefix + "one_of_6" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof AgentProfileId) { + if (getActualInstance() != null) { + joiner.add(((AgentProfileId)getActualInstance()).toUrlQueryString(prefix + "one_of_7" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof AiModelId) { + if (getActualInstance() != null) { + joiner.add(((AiModelId)getActualInstance()).toUrlQueryString(prefix + "one_of_8" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof AlarmId) { + if (getActualInstance() != null) { + joiner.add(((AlarmId)getActualInstance()).toUrlQueryString(prefix + "one_of_9" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof ApiKeyId) { + if (getActualInstance() != null) { + joiner.add(((ApiKeyId)getActualInstance()).toUrlQueryString(prefix + "one_of_10" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof ApiUsageStateId) { + if (getActualInstance() != null) { + joiner.add(((ApiUsageStateId)getActualInstance()).toUrlQueryString(prefix + "one_of_11" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof AssetId) { + if (getActualInstance() != null) { + joiner.add(((AssetId)getActualInstance()).toUrlQueryString(prefix + "one_of_12" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof AssetProfileId) { + if (getActualInstance() != null) { + joiner.add(((AssetProfileId)getActualInstance()).toUrlQueryString(prefix + "one_of_13" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof BlobEntityId) { + if (getActualInstance() != null) { + joiner.add(((BlobEntityId)getActualInstance()).toUrlQueryString(prefix + "one_of_14" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof CalculatedFieldId) { + if (getActualInstance() != null) { + joiner.add(((CalculatedFieldId)getActualInstance()).toUrlQueryString(prefix + "one_of_15" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof ConverterId) { + if (getActualInstance() != null) { + joiner.add(((ConverterId)getActualInstance()).toUrlQueryString(prefix + "one_of_16" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof CustomerId) { + if (getActualInstance() != null) { + joiner.add(((CustomerId)getActualInstance()).toUrlQueryString(prefix + "one_of_17" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof DashboardId) { + if (getActualInstance() != null) { + joiner.add(((DashboardId)getActualInstance()).toUrlQueryString(prefix + "one_of_18" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof DeviceId) { + if (getActualInstance() != null) { + joiner.add(((DeviceId)getActualInstance()).toUrlQueryString(prefix + "one_of_19" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof DeviceProfileId) { + if (getActualInstance() != null) { + joiner.add(((DeviceProfileId)getActualInstance()).toUrlQueryString(prefix + "one_of_20" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof DomainId) { + if (getActualInstance() != null) { + joiner.add(((DomainId)getActualInstance()).toUrlQueryString(prefix + "one_of_21" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof EdgeId) { + if (getActualInstance() != null) { + joiner.add(((EdgeId)getActualInstance()).toUrlQueryString(prefix + "one_of_22" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof EntityGroupId) { + if (getActualInstance() != null) { + joiner.add(((EntityGroupId)getActualInstance()).toUrlQueryString(prefix + "one_of_23" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof EntityViewId) { + if (getActualInstance() != null) { + joiner.add(((EntityViewId)getActualInstance()).toUrlQueryString(prefix + "one_of_24" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof GroupPermissionId) { + if (getActualInstance() != null) { + joiner.add(((GroupPermissionId)getActualInstance()).toUrlQueryString(prefix + "one_of_25" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof IntegrationId) { + if (getActualInstance() != null) { + joiner.add(((IntegrationId)getActualInstance()).toUrlQueryString(prefix + "one_of_26" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof JobId) { + if (getActualInstance() != null) { + joiner.add(((JobId)getActualInstance()).toUrlQueryString(prefix + "one_of_27" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof MobileAppBundleId) { + if (getActualInstance() != null) { + joiner.add(((MobileAppBundleId)getActualInstance()).toUrlQueryString(prefix + "one_of_28" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof MobileAppId) { + if (getActualInstance() != null) { + joiner.add(((MobileAppId)getActualInstance()).toUrlQueryString(prefix + "one_of_29" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof NotificationId) { + if (getActualInstance() != null) { + joiner.add(((NotificationId)getActualInstance()).toUrlQueryString(prefix + "one_of_30" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof NotificationRequestId) { + if (getActualInstance() != null) { + joiner.add(((NotificationRequestId)getActualInstance()).toUrlQueryString(prefix + "one_of_31" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof NotificationRuleId) { + if (getActualInstance() != null) { + joiner.add(((NotificationRuleId)getActualInstance()).toUrlQueryString(prefix + "one_of_32" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof NotificationTargetId) { + if (getActualInstance() != null) { + joiner.add(((NotificationTargetId)getActualInstance()).toUrlQueryString(prefix + "one_of_33" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof NotificationTemplateId) { + if (getActualInstance() != null) { + joiner.add(((NotificationTemplateId)getActualInstance()).toUrlQueryString(prefix + "one_of_34" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof OAuth2ClientId) { + if (getActualInstance() != null) { + joiner.add(((OAuth2ClientId)getActualInstance()).toUrlQueryString(prefix + "one_of_35" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof OtaPackageId) { + if (getActualInstance() != null) { + joiner.add(((OtaPackageId)getActualInstance()).toUrlQueryString(prefix + "one_of_36" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof QueueId) { + if (getActualInstance() != null) { + joiner.add(((QueueId)getActualInstance()).toUrlQueryString(prefix + "one_of_37" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof QueueStatsId) { + if (getActualInstance() != null) { + joiner.add(((QueueStatsId)getActualInstance()).toUrlQueryString(prefix + "one_of_38" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof ReportId) { + if (getActualInstance() != null) { + joiner.add(((ReportId)getActualInstance()).toUrlQueryString(prefix + "one_of_39" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof ReportTemplateId) { + if (getActualInstance() != null) { + joiner.add(((ReportTemplateId)getActualInstance()).toUrlQueryString(prefix + "one_of_40" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof RoleId) { + if (getActualInstance() != null) { + joiner.add(((RoleId)getActualInstance()).toUrlQueryString(prefix + "one_of_41" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof RpcId) { + if (getActualInstance() != null) { + joiner.add(((RpcId)getActualInstance()).toUrlQueryString(prefix + "one_of_42" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof RuleChainId) { + if (getActualInstance() != null) { + joiner.add(((RuleChainId)getActualInstance()).toUrlQueryString(prefix + "one_of_43" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof RuleNodeId) { + if (getActualInstance() != null) { + joiner.add(((RuleNodeId)getActualInstance()).toUrlQueryString(prefix + "one_of_44" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof SchedulerEventId) { + if (getActualInstance() != null) { + joiner.add(((SchedulerEventId)getActualInstance()).toUrlQueryString(prefix + "one_of_45" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof SecretId) { + if (getActualInstance() != null) { + joiner.add(((SecretId)getActualInstance()).toUrlQueryString(prefix + "one_of_46" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof TbResourceId) { + if (getActualInstance() != null) { + joiner.add(((TbResourceId)getActualInstance()).toUrlQueryString(prefix + "one_of_47" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof TenantId) { + if (getActualInstance() != null) { + joiner.add(((TenantId)getActualInstance()).toUrlQueryString(prefix + "one_of_48" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof TenantProfileId) { + if (getActualInstance() != null) { + joiner.add(((TenantProfileId)getActualInstance()).toUrlQueryString(prefix + "one_of_49" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof UserId) { + if (getActualInstance() != null) { + joiner.add(((UserId)getActualInstance()).toUrlQueryString(prefix + "one_of_50" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof WidgetTypeId) { + if (getActualInstance() != null) { + joiner.add(((WidgetTypeId)getActualInstance()).toUrlQueryString(prefix + "one_of_51" + suffix)); + } + return joiner.toString(); + } + if (getActualInstance() instanceof WidgetsBundleId) { + if (getActualInstance() != null) { + joiner.add(((WidgetsBundleId)getActualInstance()).toUrlQueryString(prefix + "one_of_52" + suffix)); + } + return joiner.toString(); + } + return null; + } + +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/LimitedApi.java b/pe/src/main/java/org/thingsboard/client/model/LimitedApi.java index 2942590f..addc3d18 100644 --- a/pe/src/main/java/org/thingsboard/client/model/LimitedApi.java +++ b/pe/src/main/java/org/thingsboard/client/model/LimitedApi.java @@ -68,6 +68,14 @@ public enum LimitedApi { EDGE_UPLINK_MESSAGES_PER_EDGE("EDGE_UPLINK_MESSAGES_PER_EDGE"), + AGENT_EVENTS("AGENT_EVENTS"), + + AGENT_EVENTS_PER_AGENT("AGENT_EVENTS_PER_AGENT"), + + AGENT_LOG_CHUNKS("AGENT_LOG_CHUNKS"), + + AGENT_LOG_CHUNKS_PER_AGENT("AGENT_LOG_CHUNKS_PER_AGENT"), + INTEGRATION_MSGS_PER_TENANT("INTEGRATION_MSGS_PER_TENANT"), INTEGRATION_MSGS_PER_DEVICE("INTEGRATION_MSGS_PER_DEVICE"), diff --git a/pe/src/main/java/org/thingsboard/client/model/PageDataAgent.java b/pe/src/main/java/org/thingsboard/client/model/PageDataAgent.java new file mode 100644 index 00000000..9e3f6f94 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/PageDataAgent.java @@ -0,0 +1,261 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.thingsboard.client.model.Agent; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * PageDataAgent + */ +@JsonPropertyOrder({ + PageDataAgent.JSON_PROPERTY_DATA, + PageDataAgent.JSON_PROPERTY_TOTAL_PAGES, + PageDataAgent.JSON_PROPERTY_TOTAL_ELEMENTS, + PageDataAgent.JSON_PROPERTY_HAS_NEXT +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class PageDataAgent { + public static final String JSON_PROPERTY_DATA = "data"; + @Nullable + private List data = new ArrayList<>(); + + public static final String JSON_PROPERTY_TOTAL_PAGES = "totalPages"; + @Nullable + private Integer totalPages; + + public static final String JSON_PROPERTY_TOTAL_ELEMENTS = "totalElements"; + @Nullable + private Long totalElements; + + public static final String JSON_PROPERTY_HAS_NEXT = "hasNext"; + @Nullable + private Boolean hasNext; + + public PageDataAgent() { + } + + @JsonCreator + public PageDataAgent( + @JsonProperty(JSON_PROPERTY_TOTAL_PAGES) Integer totalPages, + @JsonProperty(JSON_PROPERTY_TOTAL_ELEMENTS) Long totalElements, + @JsonProperty(JSON_PROPERTY_HAS_NEXT) Boolean hasNext + ) { + this(); + this.totalPages = totalPages; + this.totalElements = totalElements; + this.hasNext = hasNext; + } + + public PageDataAgent data(@Nullable List data) { + this.data = data; + return this; + } + + public PageDataAgent addDataItem(Agent dataItem) { + if (this.data == null) { + this.data = new ArrayList<>(); + } + this.data.add(dataItem); + return this; + } + + /** + * Array of the entities + * @return data + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_DATA, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getData() { + return data; + } + + + @JsonProperty(value = JSON_PROPERTY_DATA, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setData(@Nullable List data) { + this.data = data; + } + + + /** + * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria + * @return totalPages + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TOTAL_PAGES, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Integer getTotalPages() { + return totalPages; + } + + + + + /** + * Total number of elements in all available pages + * @return totalElements + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TOTAL_ELEMENTS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getTotalElements() { + return totalElements; + } + + + + + /** + * 'false' value indicates the end of the result set + * @return hasNext + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_HAS_NEXT, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getHasNext() { + return hasNext; + } + + + + + /** + * Return true if this PageDataAgent object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PageDataAgent pageDataAgent = (PageDataAgent) o; + return Objects.equals(this.data, pageDataAgent.data) && + Objects.equals(this.totalPages, pageDataAgent.totalPages) && + Objects.equals(this.totalElements, pageDataAgent.totalElements) && + Objects.equals(this.hasNext, pageDataAgent.hasNext); + } + + @Override + public int hashCode() { + return Objects.hash(data, totalPages, totalElements, hasNext); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PageDataAgent {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" totalPages: ").append(toIndentedString(totalPages)).append("\n"); + sb.append(" totalElements: ").append(toIndentedString(totalElements)).append("\n"); + sb.append(" hasNext: ").append(toIndentedString(hasNext)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `data` to the URL query string + if (getData() != null) { + for (int i = 0; i < getData().size(); i++) { + if (getData().get(i) != null) { + joiner.add(getData().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%sdata%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); + } + } + } + + // add `totalPages` to the URL query string + if (getTotalPages() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stotalPages%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTotalPages())))); + } + + // add `totalElements` to the URL query string + if (getTotalElements() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stotalElements%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTotalElements())))); + } + + // add `hasNext` to the URL query string + if (getHasNext() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%shasNext%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getHasNext())))); + } + + return joiner.toString(); + } +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/PageDataAgentAppEvent.java b/pe/src/main/java/org/thingsboard/client/model/PageDataAgentAppEvent.java new file mode 100644 index 00000000..8ffef28d --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/PageDataAgentAppEvent.java @@ -0,0 +1,261 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.thingsboard.client.model.AgentAppEvent; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * PageDataAgentAppEvent + */ +@JsonPropertyOrder({ + PageDataAgentAppEvent.JSON_PROPERTY_DATA, + PageDataAgentAppEvent.JSON_PROPERTY_TOTAL_PAGES, + PageDataAgentAppEvent.JSON_PROPERTY_TOTAL_ELEMENTS, + PageDataAgentAppEvent.JSON_PROPERTY_HAS_NEXT +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class PageDataAgentAppEvent { + public static final String JSON_PROPERTY_DATA = "data"; + @Nullable + private List data = new ArrayList<>(); + + public static final String JSON_PROPERTY_TOTAL_PAGES = "totalPages"; + @Nullable + private Integer totalPages; + + public static final String JSON_PROPERTY_TOTAL_ELEMENTS = "totalElements"; + @Nullable + private Long totalElements; + + public static final String JSON_PROPERTY_HAS_NEXT = "hasNext"; + @Nullable + private Boolean hasNext; + + public PageDataAgentAppEvent() { + } + + @JsonCreator + public PageDataAgentAppEvent( + @JsonProperty(JSON_PROPERTY_TOTAL_PAGES) Integer totalPages, + @JsonProperty(JSON_PROPERTY_TOTAL_ELEMENTS) Long totalElements, + @JsonProperty(JSON_PROPERTY_HAS_NEXT) Boolean hasNext + ) { + this(); + this.totalPages = totalPages; + this.totalElements = totalElements; + this.hasNext = hasNext; + } + + public PageDataAgentAppEvent data(@Nullable List data) { + this.data = data; + return this; + } + + public PageDataAgentAppEvent addDataItem(AgentAppEvent dataItem) { + if (this.data == null) { + this.data = new ArrayList<>(); + } + this.data.add(dataItem); + return this; + } + + /** + * Array of the entities + * @return data + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_DATA, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getData() { + return data; + } + + + @JsonProperty(value = JSON_PROPERTY_DATA, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setData(@Nullable List data) { + this.data = data; + } + + + /** + * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria + * @return totalPages + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TOTAL_PAGES, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Integer getTotalPages() { + return totalPages; + } + + + + + /** + * Total number of elements in all available pages + * @return totalElements + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TOTAL_ELEMENTS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getTotalElements() { + return totalElements; + } + + + + + /** + * 'false' value indicates the end of the result set + * @return hasNext + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_HAS_NEXT, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getHasNext() { + return hasNext; + } + + + + + /** + * Return true if this PageDataAgentAppEvent object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PageDataAgentAppEvent pageDataAgentAppEvent = (PageDataAgentAppEvent) o; + return Objects.equals(this.data, pageDataAgentAppEvent.data) && + Objects.equals(this.totalPages, pageDataAgentAppEvent.totalPages) && + Objects.equals(this.totalElements, pageDataAgentAppEvent.totalElements) && + Objects.equals(this.hasNext, pageDataAgentAppEvent.hasNext); + } + + @Override + public int hashCode() { + return Objects.hash(data, totalPages, totalElements, hasNext); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PageDataAgentAppEvent {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" totalPages: ").append(toIndentedString(totalPages)).append("\n"); + sb.append(" totalElements: ").append(toIndentedString(totalElements)).append("\n"); + sb.append(" hasNext: ").append(toIndentedString(hasNext)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `data` to the URL query string + if (getData() != null) { + for (int i = 0; i < getData().size(); i++) { + if (getData().get(i) != null) { + joiner.add(getData().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%sdata%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); + } + } + } + + // add `totalPages` to the URL query string + if (getTotalPages() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stotalPages%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTotalPages())))); + } + + // add `totalElements` to the URL query string + if (getTotalElements() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stotalElements%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTotalElements())))); + } + + // add `hasNext` to the URL query string + if (getHasNext() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%shasNext%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getHasNext())))); + } + + return joiner.toString(); + } +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/PageDataAgentAppEventInfo.java b/pe/src/main/java/org/thingsboard/client/model/PageDataAgentAppEventInfo.java new file mode 100644 index 00000000..db451c78 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/PageDataAgentAppEventInfo.java @@ -0,0 +1,261 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.thingsboard.client.model.AgentAppEventInfo; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * PageDataAgentAppEventInfo + */ +@JsonPropertyOrder({ + PageDataAgentAppEventInfo.JSON_PROPERTY_DATA, + PageDataAgentAppEventInfo.JSON_PROPERTY_TOTAL_PAGES, + PageDataAgentAppEventInfo.JSON_PROPERTY_TOTAL_ELEMENTS, + PageDataAgentAppEventInfo.JSON_PROPERTY_HAS_NEXT +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class PageDataAgentAppEventInfo { + public static final String JSON_PROPERTY_DATA = "data"; + @Nullable + private List data = new ArrayList<>(); + + public static final String JSON_PROPERTY_TOTAL_PAGES = "totalPages"; + @Nullable + private Integer totalPages; + + public static final String JSON_PROPERTY_TOTAL_ELEMENTS = "totalElements"; + @Nullable + private Long totalElements; + + public static final String JSON_PROPERTY_HAS_NEXT = "hasNext"; + @Nullable + private Boolean hasNext; + + public PageDataAgentAppEventInfo() { + } + + @JsonCreator + public PageDataAgentAppEventInfo( + @JsonProperty(JSON_PROPERTY_TOTAL_PAGES) Integer totalPages, + @JsonProperty(JSON_PROPERTY_TOTAL_ELEMENTS) Long totalElements, + @JsonProperty(JSON_PROPERTY_HAS_NEXT) Boolean hasNext + ) { + this(); + this.totalPages = totalPages; + this.totalElements = totalElements; + this.hasNext = hasNext; + } + + public PageDataAgentAppEventInfo data(@Nullable List data) { + this.data = data; + return this; + } + + public PageDataAgentAppEventInfo addDataItem(AgentAppEventInfo dataItem) { + if (this.data == null) { + this.data = new ArrayList<>(); + } + this.data.add(dataItem); + return this; + } + + /** + * Array of the entities + * @return data + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_DATA, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getData() { + return data; + } + + + @JsonProperty(value = JSON_PROPERTY_DATA, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setData(@Nullable List data) { + this.data = data; + } + + + /** + * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria + * @return totalPages + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TOTAL_PAGES, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Integer getTotalPages() { + return totalPages; + } + + + + + /** + * Total number of elements in all available pages + * @return totalElements + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TOTAL_ELEMENTS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getTotalElements() { + return totalElements; + } + + + + + /** + * 'false' value indicates the end of the result set + * @return hasNext + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_HAS_NEXT, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getHasNext() { + return hasNext; + } + + + + + /** + * Return true if this PageDataAgentAppEventInfo object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PageDataAgentAppEventInfo pageDataAgentAppEventInfo = (PageDataAgentAppEventInfo) o; + return Objects.equals(this.data, pageDataAgentAppEventInfo.data) && + Objects.equals(this.totalPages, pageDataAgentAppEventInfo.totalPages) && + Objects.equals(this.totalElements, pageDataAgentAppEventInfo.totalElements) && + Objects.equals(this.hasNext, pageDataAgentAppEventInfo.hasNext); + } + + @Override + public int hashCode() { + return Objects.hash(data, totalPages, totalElements, hasNext); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PageDataAgentAppEventInfo {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" totalPages: ").append(toIndentedString(totalPages)).append("\n"); + sb.append(" totalElements: ").append(toIndentedString(totalElements)).append("\n"); + sb.append(" hasNext: ").append(toIndentedString(hasNext)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `data` to the URL query string + if (getData() != null) { + for (int i = 0; i < getData().size(); i++) { + if (getData().get(i) != null) { + joiner.add(getData().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%sdata%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); + } + } + } + + // add `totalPages` to the URL query string + if (getTotalPages() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stotalPages%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTotalPages())))); + } + + // add `totalElements` to the URL query string + if (getTotalElements() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stotalElements%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTotalElements())))); + } + + // add `hasNext` to the URL query string + if (getHasNext() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%shasNext%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getHasNext())))); + } + + return joiner.toString(); + } +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/PageDataAgentAppProfile.java b/pe/src/main/java/org/thingsboard/client/model/PageDataAgentAppProfile.java new file mode 100644 index 00000000..65239278 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/PageDataAgentAppProfile.java @@ -0,0 +1,261 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.thingsboard.client.model.AgentAppProfile; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * PageDataAgentAppProfile + */ +@JsonPropertyOrder({ + PageDataAgentAppProfile.JSON_PROPERTY_DATA, + PageDataAgentAppProfile.JSON_PROPERTY_TOTAL_PAGES, + PageDataAgentAppProfile.JSON_PROPERTY_TOTAL_ELEMENTS, + PageDataAgentAppProfile.JSON_PROPERTY_HAS_NEXT +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class PageDataAgentAppProfile { + public static final String JSON_PROPERTY_DATA = "data"; + @Nullable + private List data = new ArrayList<>(); + + public static final String JSON_PROPERTY_TOTAL_PAGES = "totalPages"; + @Nullable + private Integer totalPages; + + public static final String JSON_PROPERTY_TOTAL_ELEMENTS = "totalElements"; + @Nullable + private Long totalElements; + + public static final String JSON_PROPERTY_HAS_NEXT = "hasNext"; + @Nullable + private Boolean hasNext; + + public PageDataAgentAppProfile() { + } + + @JsonCreator + public PageDataAgentAppProfile( + @JsonProperty(JSON_PROPERTY_TOTAL_PAGES) Integer totalPages, + @JsonProperty(JSON_PROPERTY_TOTAL_ELEMENTS) Long totalElements, + @JsonProperty(JSON_PROPERTY_HAS_NEXT) Boolean hasNext + ) { + this(); + this.totalPages = totalPages; + this.totalElements = totalElements; + this.hasNext = hasNext; + } + + public PageDataAgentAppProfile data(@Nullable List data) { + this.data = data; + return this; + } + + public PageDataAgentAppProfile addDataItem(AgentAppProfile dataItem) { + if (this.data == null) { + this.data = new ArrayList<>(); + } + this.data.add(dataItem); + return this; + } + + /** + * Array of the entities + * @return data + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_DATA, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getData() { + return data; + } + + + @JsonProperty(value = JSON_PROPERTY_DATA, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setData(@Nullable List data) { + this.data = data; + } + + + /** + * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria + * @return totalPages + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TOTAL_PAGES, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Integer getTotalPages() { + return totalPages; + } + + + + + /** + * Total number of elements in all available pages + * @return totalElements + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TOTAL_ELEMENTS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getTotalElements() { + return totalElements; + } + + + + + /** + * 'false' value indicates the end of the result set + * @return hasNext + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_HAS_NEXT, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getHasNext() { + return hasNext; + } + + + + + /** + * Return true if this PageDataAgentAppProfile object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PageDataAgentAppProfile pageDataAgentAppProfile = (PageDataAgentAppProfile) o; + return Objects.equals(this.data, pageDataAgentAppProfile.data) && + Objects.equals(this.totalPages, pageDataAgentAppProfile.totalPages) && + Objects.equals(this.totalElements, pageDataAgentAppProfile.totalElements) && + Objects.equals(this.hasNext, pageDataAgentAppProfile.hasNext); + } + + @Override + public int hashCode() { + return Objects.hash(data, totalPages, totalElements, hasNext); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PageDataAgentAppProfile {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" totalPages: ").append(toIndentedString(totalPages)).append("\n"); + sb.append(" totalElements: ").append(toIndentedString(totalElements)).append("\n"); + sb.append(" hasNext: ").append(toIndentedString(hasNext)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `data` to the URL query string + if (getData() != null) { + for (int i = 0; i < getData().size(); i++) { + if (getData().get(i) != null) { + joiner.add(getData().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%sdata%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); + } + } + } + + // add `totalPages` to the URL query string + if (getTotalPages() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stotalPages%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTotalPages())))); + } + + // add `totalElements` to the URL query string + if (getTotalElements() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stotalElements%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTotalElements())))); + } + + // add `hasNext` to the URL query string + if (getHasNext() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%shasNext%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getHasNext())))); + } + + return joiner.toString(); + } +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/PageDataAgentAppUnit.java b/pe/src/main/java/org/thingsboard/client/model/PageDataAgentAppUnit.java new file mode 100644 index 00000000..c5143dc8 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/PageDataAgentAppUnit.java @@ -0,0 +1,261 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.thingsboard.client.model.AgentAppUnit; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * PageDataAgentAppUnit + */ +@JsonPropertyOrder({ + PageDataAgentAppUnit.JSON_PROPERTY_DATA, + PageDataAgentAppUnit.JSON_PROPERTY_TOTAL_PAGES, + PageDataAgentAppUnit.JSON_PROPERTY_TOTAL_ELEMENTS, + PageDataAgentAppUnit.JSON_PROPERTY_HAS_NEXT +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class PageDataAgentAppUnit { + public static final String JSON_PROPERTY_DATA = "data"; + @Nullable + private List data = new ArrayList<>(); + + public static final String JSON_PROPERTY_TOTAL_PAGES = "totalPages"; + @Nullable + private Integer totalPages; + + public static final String JSON_PROPERTY_TOTAL_ELEMENTS = "totalElements"; + @Nullable + private Long totalElements; + + public static final String JSON_PROPERTY_HAS_NEXT = "hasNext"; + @Nullable + private Boolean hasNext; + + public PageDataAgentAppUnit() { + } + + @JsonCreator + public PageDataAgentAppUnit( + @JsonProperty(JSON_PROPERTY_TOTAL_PAGES) Integer totalPages, + @JsonProperty(JSON_PROPERTY_TOTAL_ELEMENTS) Long totalElements, + @JsonProperty(JSON_PROPERTY_HAS_NEXT) Boolean hasNext + ) { + this(); + this.totalPages = totalPages; + this.totalElements = totalElements; + this.hasNext = hasNext; + } + + public PageDataAgentAppUnit data(@Nullable List data) { + this.data = data; + return this; + } + + public PageDataAgentAppUnit addDataItem(AgentAppUnit dataItem) { + if (this.data == null) { + this.data = new ArrayList<>(); + } + this.data.add(dataItem); + return this; + } + + /** + * Array of the entities + * @return data + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_DATA, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getData() { + return data; + } + + + @JsonProperty(value = JSON_PROPERTY_DATA, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setData(@Nullable List data) { + this.data = data; + } + + + /** + * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria + * @return totalPages + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TOTAL_PAGES, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Integer getTotalPages() { + return totalPages; + } + + + + + /** + * Total number of elements in all available pages + * @return totalElements + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TOTAL_ELEMENTS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getTotalElements() { + return totalElements; + } + + + + + /** + * 'false' value indicates the end of the result set + * @return hasNext + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_HAS_NEXT, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getHasNext() { + return hasNext; + } + + + + + /** + * Return true if this PageDataAgentAppUnit object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PageDataAgentAppUnit pageDataAgentAppUnit = (PageDataAgentAppUnit) o; + return Objects.equals(this.data, pageDataAgentAppUnit.data) && + Objects.equals(this.totalPages, pageDataAgentAppUnit.totalPages) && + Objects.equals(this.totalElements, pageDataAgentAppUnit.totalElements) && + Objects.equals(this.hasNext, pageDataAgentAppUnit.hasNext); + } + + @Override + public int hashCode() { + return Objects.hash(data, totalPages, totalElements, hasNext); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PageDataAgentAppUnit {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" totalPages: ").append(toIndentedString(totalPages)).append("\n"); + sb.append(" totalElements: ").append(toIndentedString(totalElements)).append("\n"); + sb.append(" hasNext: ").append(toIndentedString(hasNext)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `data` to the URL query string + if (getData() != null) { + for (int i = 0; i < getData().size(); i++) { + if (getData().get(i) != null) { + joiner.add(getData().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%sdata%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); + } + } + } + + // add `totalPages` to the URL query string + if (getTotalPages() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stotalPages%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTotalPages())))); + } + + // add `totalElements` to the URL query string + if (getTotalElements() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stotalElements%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTotalElements())))); + } + + // add `hasNext` to the URL query string + if (getHasNext() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%shasNext%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getHasNext())))); + } + + return joiner.toString(); + } +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/PageDataAgentApplicationInfo.java b/pe/src/main/java/org/thingsboard/client/model/PageDataAgentApplicationInfo.java new file mode 100644 index 00000000..8b6b2621 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/PageDataAgentApplicationInfo.java @@ -0,0 +1,261 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.thingsboard.client.model.AgentApplicationInfo; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * PageDataAgentApplicationInfo + */ +@JsonPropertyOrder({ + PageDataAgentApplicationInfo.JSON_PROPERTY_DATA, + PageDataAgentApplicationInfo.JSON_PROPERTY_TOTAL_PAGES, + PageDataAgentApplicationInfo.JSON_PROPERTY_TOTAL_ELEMENTS, + PageDataAgentApplicationInfo.JSON_PROPERTY_HAS_NEXT +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class PageDataAgentApplicationInfo { + public static final String JSON_PROPERTY_DATA = "data"; + @Nullable + private List data = new ArrayList<>(); + + public static final String JSON_PROPERTY_TOTAL_PAGES = "totalPages"; + @Nullable + private Integer totalPages; + + public static final String JSON_PROPERTY_TOTAL_ELEMENTS = "totalElements"; + @Nullable + private Long totalElements; + + public static final String JSON_PROPERTY_HAS_NEXT = "hasNext"; + @Nullable + private Boolean hasNext; + + public PageDataAgentApplicationInfo() { + } + + @JsonCreator + public PageDataAgentApplicationInfo( + @JsonProperty(JSON_PROPERTY_TOTAL_PAGES) Integer totalPages, + @JsonProperty(JSON_PROPERTY_TOTAL_ELEMENTS) Long totalElements, + @JsonProperty(JSON_PROPERTY_HAS_NEXT) Boolean hasNext + ) { + this(); + this.totalPages = totalPages; + this.totalElements = totalElements; + this.hasNext = hasNext; + } + + public PageDataAgentApplicationInfo data(@Nullable List data) { + this.data = data; + return this; + } + + public PageDataAgentApplicationInfo addDataItem(AgentApplicationInfo dataItem) { + if (this.data == null) { + this.data = new ArrayList<>(); + } + this.data.add(dataItem); + return this; + } + + /** + * Array of the entities + * @return data + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_DATA, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getData() { + return data; + } + + + @JsonProperty(value = JSON_PROPERTY_DATA, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setData(@Nullable List data) { + this.data = data; + } + + + /** + * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria + * @return totalPages + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TOTAL_PAGES, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Integer getTotalPages() { + return totalPages; + } + + + + + /** + * Total number of elements in all available pages + * @return totalElements + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TOTAL_ELEMENTS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getTotalElements() { + return totalElements; + } + + + + + /** + * 'false' value indicates the end of the result set + * @return hasNext + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_HAS_NEXT, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getHasNext() { + return hasNext; + } + + + + + /** + * Return true if this PageDataAgentApplicationInfo object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PageDataAgentApplicationInfo pageDataAgentApplicationInfo = (PageDataAgentApplicationInfo) o; + return Objects.equals(this.data, pageDataAgentApplicationInfo.data) && + Objects.equals(this.totalPages, pageDataAgentApplicationInfo.totalPages) && + Objects.equals(this.totalElements, pageDataAgentApplicationInfo.totalElements) && + Objects.equals(this.hasNext, pageDataAgentApplicationInfo.hasNext); + } + + @Override + public int hashCode() { + return Objects.hash(data, totalPages, totalElements, hasNext); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PageDataAgentApplicationInfo {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" totalPages: ").append(toIndentedString(totalPages)).append("\n"); + sb.append(" totalElements: ").append(toIndentedString(totalElements)).append("\n"); + sb.append(" hasNext: ").append(toIndentedString(hasNext)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `data` to the URL query string + if (getData() != null) { + for (int i = 0; i < getData().size(); i++) { + if (getData().get(i) != null) { + joiner.add(getData().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%sdata%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); + } + } + } + + // add `totalPages` to the URL query string + if (getTotalPages() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stotalPages%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTotalPages())))); + } + + // add `totalElements` to the URL query string + if (getTotalElements() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stotalElements%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTotalElements())))); + } + + // add `hasNext` to the URL query string + if (getHasNext() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%shasNext%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getHasNext())))); + } + + return joiner.toString(); + } +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/PageDataAgentBulkAction.java b/pe/src/main/java/org/thingsboard/client/model/PageDataAgentBulkAction.java new file mode 100644 index 00000000..135e77fa --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/PageDataAgentBulkAction.java @@ -0,0 +1,261 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.thingsboard.client.model.AgentBulkAction; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * PageDataAgentBulkAction + */ +@JsonPropertyOrder({ + PageDataAgentBulkAction.JSON_PROPERTY_DATA, + PageDataAgentBulkAction.JSON_PROPERTY_TOTAL_PAGES, + PageDataAgentBulkAction.JSON_PROPERTY_TOTAL_ELEMENTS, + PageDataAgentBulkAction.JSON_PROPERTY_HAS_NEXT +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class PageDataAgentBulkAction { + public static final String JSON_PROPERTY_DATA = "data"; + @Nullable + private List data = new ArrayList<>(); + + public static final String JSON_PROPERTY_TOTAL_PAGES = "totalPages"; + @Nullable + private Integer totalPages; + + public static final String JSON_PROPERTY_TOTAL_ELEMENTS = "totalElements"; + @Nullable + private Long totalElements; + + public static final String JSON_PROPERTY_HAS_NEXT = "hasNext"; + @Nullable + private Boolean hasNext; + + public PageDataAgentBulkAction() { + } + + @JsonCreator + public PageDataAgentBulkAction( + @JsonProperty(JSON_PROPERTY_TOTAL_PAGES) Integer totalPages, + @JsonProperty(JSON_PROPERTY_TOTAL_ELEMENTS) Long totalElements, + @JsonProperty(JSON_PROPERTY_HAS_NEXT) Boolean hasNext + ) { + this(); + this.totalPages = totalPages; + this.totalElements = totalElements; + this.hasNext = hasNext; + } + + public PageDataAgentBulkAction data(@Nullable List data) { + this.data = data; + return this; + } + + public PageDataAgentBulkAction addDataItem(AgentBulkAction dataItem) { + if (this.data == null) { + this.data = new ArrayList<>(); + } + this.data.add(dataItem); + return this; + } + + /** + * Array of the entities + * @return data + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_DATA, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getData() { + return data; + } + + + @JsonProperty(value = JSON_PROPERTY_DATA, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setData(@Nullable List data) { + this.data = data; + } + + + /** + * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria + * @return totalPages + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TOTAL_PAGES, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Integer getTotalPages() { + return totalPages; + } + + + + + /** + * Total number of elements in all available pages + * @return totalElements + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TOTAL_ELEMENTS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getTotalElements() { + return totalElements; + } + + + + + /** + * 'false' value indicates the end of the result set + * @return hasNext + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_HAS_NEXT, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getHasNext() { + return hasNext; + } + + + + + /** + * Return true if this PageDataAgentBulkAction object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PageDataAgentBulkAction pageDataAgentBulkAction = (PageDataAgentBulkAction) o; + return Objects.equals(this.data, pageDataAgentBulkAction.data) && + Objects.equals(this.totalPages, pageDataAgentBulkAction.totalPages) && + Objects.equals(this.totalElements, pageDataAgentBulkAction.totalElements) && + Objects.equals(this.hasNext, pageDataAgentBulkAction.hasNext); + } + + @Override + public int hashCode() { + return Objects.hash(data, totalPages, totalElements, hasNext); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PageDataAgentBulkAction {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" totalPages: ").append(toIndentedString(totalPages)).append("\n"); + sb.append(" totalElements: ").append(toIndentedString(totalElements)).append("\n"); + sb.append(" hasNext: ").append(toIndentedString(hasNext)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `data` to the URL query string + if (getData() != null) { + for (int i = 0; i < getData().size(); i++) { + if (getData().get(i) != null) { + joiner.add(getData().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%sdata%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); + } + } + } + + // add `totalPages` to the URL query string + if (getTotalPages() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stotalPages%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTotalPages())))); + } + + // add `totalElements` to the URL query string + if (getTotalElements() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stotalElements%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTotalElements())))); + } + + // add `hasNext` to the URL query string + if (getHasNext() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%shasNext%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getHasNext())))); + } + + return joiner.toString(); + } +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/PageDataAgentInfo.java b/pe/src/main/java/org/thingsboard/client/model/PageDataAgentInfo.java new file mode 100644 index 00000000..936f18ea --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/PageDataAgentInfo.java @@ -0,0 +1,261 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.thingsboard.client.model.AgentInfo; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * PageDataAgentInfo + */ +@JsonPropertyOrder({ + PageDataAgentInfo.JSON_PROPERTY_DATA, + PageDataAgentInfo.JSON_PROPERTY_TOTAL_PAGES, + PageDataAgentInfo.JSON_PROPERTY_TOTAL_ELEMENTS, + PageDataAgentInfo.JSON_PROPERTY_HAS_NEXT +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class PageDataAgentInfo { + public static final String JSON_PROPERTY_DATA = "data"; + @Nullable + private List data = new ArrayList<>(); + + public static final String JSON_PROPERTY_TOTAL_PAGES = "totalPages"; + @Nullable + private Integer totalPages; + + public static final String JSON_PROPERTY_TOTAL_ELEMENTS = "totalElements"; + @Nullable + private Long totalElements; + + public static final String JSON_PROPERTY_HAS_NEXT = "hasNext"; + @Nullable + private Boolean hasNext; + + public PageDataAgentInfo() { + } + + @JsonCreator + public PageDataAgentInfo( + @JsonProperty(JSON_PROPERTY_TOTAL_PAGES) Integer totalPages, + @JsonProperty(JSON_PROPERTY_TOTAL_ELEMENTS) Long totalElements, + @JsonProperty(JSON_PROPERTY_HAS_NEXT) Boolean hasNext + ) { + this(); + this.totalPages = totalPages; + this.totalElements = totalElements; + this.hasNext = hasNext; + } + + public PageDataAgentInfo data(@Nullable List data) { + this.data = data; + return this; + } + + public PageDataAgentInfo addDataItem(AgentInfo dataItem) { + if (this.data == null) { + this.data = new ArrayList<>(); + } + this.data.add(dataItem); + return this; + } + + /** + * Array of the entities + * @return data + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_DATA, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getData() { + return data; + } + + + @JsonProperty(value = JSON_PROPERTY_DATA, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setData(@Nullable List data) { + this.data = data; + } + + + /** + * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria + * @return totalPages + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TOTAL_PAGES, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Integer getTotalPages() { + return totalPages; + } + + + + + /** + * Total number of elements in all available pages + * @return totalElements + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TOTAL_ELEMENTS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getTotalElements() { + return totalElements; + } + + + + + /** + * 'false' value indicates the end of the result set + * @return hasNext + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_HAS_NEXT, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getHasNext() { + return hasNext; + } + + + + + /** + * Return true if this PageDataAgentInfo object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PageDataAgentInfo pageDataAgentInfo = (PageDataAgentInfo) o; + return Objects.equals(this.data, pageDataAgentInfo.data) && + Objects.equals(this.totalPages, pageDataAgentInfo.totalPages) && + Objects.equals(this.totalElements, pageDataAgentInfo.totalElements) && + Objects.equals(this.hasNext, pageDataAgentInfo.hasNext); + } + + @Override + public int hashCode() { + return Objects.hash(data, totalPages, totalElements, hasNext); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PageDataAgentInfo {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" totalPages: ").append(toIndentedString(totalPages)).append("\n"); + sb.append(" totalElements: ").append(toIndentedString(totalElements)).append("\n"); + sb.append(" hasNext: ").append(toIndentedString(hasNext)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `data` to the URL query string + if (getData() != null) { + for (int i = 0; i < getData().size(); i++) { + if (getData().get(i) != null) { + joiner.add(getData().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%sdata%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); + } + } + } + + // add `totalPages` to the URL query string + if (getTotalPages() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stotalPages%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTotalPages())))); + } + + // add `totalElements` to the URL query string + if (getTotalElements() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stotalElements%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTotalElements())))); + } + + // add `hasNext` to the URL query string + if (getHasNext() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%shasNext%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getHasNext())))); + } + + return joiner.toString(); + } +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/PageDataAgentProfile.java b/pe/src/main/java/org/thingsboard/client/model/PageDataAgentProfile.java new file mode 100644 index 00000000..d045a2f0 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/PageDataAgentProfile.java @@ -0,0 +1,261 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.thingsboard.client.model.AgentProfile; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * PageDataAgentProfile + */ +@JsonPropertyOrder({ + PageDataAgentProfile.JSON_PROPERTY_DATA, + PageDataAgentProfile.JSON_PROPERTY_TOTAL_PAGES, + PageDataAgentProfile.JSON_PROPERTY_TOTAL_ELEMENTS, + PageDataAgentProfile.JSON_PROPERTY_HAS_NEXT +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class PageDataAgentProfile { + public static final String JSON_PROPERTY_DATA = "data"; + @Nullable + private List data = new ArrayList<>(); + + public static final String JSON_PROPERTY_TOTAL_PAGES = "totalPages"; + @Nullable + private Integer totalPages; + + public static final String JSON_PROPERTY_TOTAL_ELEMENTS = "totalElements"; + @Nullable + private Long totalElements; + + public static final String JSON_PROPERTY_HAS_NEXT = "hasNext"; + @Nullable + private Boolean hasNext; + + public PageDataAgentProfile() { + } + + @JsonCreator + public PageDataAgentProfile( + @JsonProperty(JSON_PROPERTY_TOTAL_PAGES) Integer totalPages, + @JsonProperty(JSON_PROPERTY_TOTAL_ELEMENTS) Long totalElements, + @JsonProperty(JSON_PROPERTY_HAS_NEXT) Boolean hasNext + ) { + this(); + this.totalPages = totalPages; + this.totalElements = totalElements; + this.hasNext = hasNext; + } + + public PageDataAgentProfile data(@Nullable List data) { + this.data = data; + return this; + } + + public PageDataAgentProfile addDataItem(AgentProfile dataItem) { + if (this.data == null) { + this.data = new ArrayList<>(); + } + this.data.add(dataItem); + return this; + } + + /** + * Array of the entities + * @return data + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_DATA, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getData() { + return data; + } + + + @JsonProperty(value = JSON_PROPERTY_DATA, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setData(@Nullable List data) { + this.data = data; + } + + + /** + * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria + * @return totalPages + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TOTAL_PAGES, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Integer getTotalPages() { + return totalPages; + } + + + + + /** + * Total number of elements in all available pages + * @return totalElements + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TOTAL_ELEMENTS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getTotalElements() { + return totalElements; + } + + + + + /** + * 'false' value indicates the end of the result set + * @return hasNext + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_HAS_NEXT, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getHasNext() { + return hasNext; + } + + + + + /** + * Return true if this PageDataAgentProfile object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PageDataAgentProfile pageDataAgentProfile = (PageDataAgentProfile) o; + return Objects.equals(this.data, pageDataAgentProfile.data) && + Objects.equals(this.totalPages, pageDataAgentProfile.totalPages) && + Objects.equals(this.totalElements, pageDataAgentProfile.totalElements) && + Objects.equals(this.hasNext, pageDataAgentProfile.hasNext); + } + + @Override + public int hashCode() { + return Objects.hash(data, totalPages, totalElements, hasNext); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PageDataAgentProfile {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" totalPages: ").append(toIndentedString(totalPages)).append("\n"); + sb.append(" totalElements: ").append(toIndentedString(totalElements)).append("\n"); + sb.append(" hasNext: ").append(toIndentedString(hasNext)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `data` to the URL query string + if (getData() != null) { + for (int i = 0; i < getData().size(); i++) { + if (getData().get(i) != null) { + joiner.add(getData().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%sdata%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); + } + } + } + + // add `totalPages` to the URL query string + if (getTotalPages() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stotalPages%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTotalPages())))); + } + + // add `totalElements` to the URL query string + if (getTotalElements() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stotalElements%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTotalElements())))); + } + + // add `hasNext` to the URL query string + if (getHasNext() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%shasNext%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getHasNext())))); + } + + return joiner.toString(); + } +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/PageDataAgentProfileInfo.java b/pe/src/main/java/org/thingsboard/client/model/PageDataAgentProfileInfo.java new file mode 100644 index 00000000..028f1698 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/PageDataAgentProfileInfo.java @@ -0,0 +1,261 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.thingsboard.client.model.AgentProfileInfo; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * PageDataAgentProfileInfo + */ +@JsonPropertyOrder({ + PageDataAgentProfileInfo.JSON_PROPERTY_DATA, + PageDataAgentProfileInfo.JSON_PROPERTY_TOTAL_PAGES, + PageDataAgentProfileInfo.JSON_PROPERTY_TOTAL_ELEMENTS, + PageDataAgentProfileInfo.JSON_PROPERTY_HAS_NEXT +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class PageDataAgentProfileInfo { + public static final String JSON_PROPERTY_DATA = "data"; + @Nullable + private List data = new ArrayList<>(); + + public static final String JSON_PROPERTY_TOTAL_PAGES = "totalPages"; + @Nullable + private Integer totalPages; + + public static final String JSON_PROPERTY_TOTAL_ELEMENTS = "totalElements"; + @Nullable + private Long totalElements; + + public static final String JSON_PROPERTY_HAS_NEXT = "hasNext"; + @Nullable + private Boolean hasNext; + + public PageDataAgentProfileInfo() { + } + + @JsonCreator + public PageDataAgentProfileInfo( + @JsonProperty(JSON_PROPERTY_TOTAL_PAGES) Integer totalPages, + @JsonProperty(JSON_PROPERTY_TOTAL_ELEMENTS) Long totalElements, + @JsonProperty(JSON_PROPERTY_HAS_NEXT) Boolean hasNext + ) { + this(); + this.totalPages = totalPages; + this.totalElements = totalElements; + this.hasNext = hasNext; + } + + public PageDataAgentProfileInfo data(@Nullable List data) { + this.data = data; + return this; + } + + public PageDataAgentProfileInfo addDataItem(AgentProfileInfo dataItem) { + if (this.data == null) { + this.data = new ArrayList<>(); + } + this.data.add(dataItem); + return this; + } + + /** + * Array of the entities + * @return data + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_DATA, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getData() { + return data; + } + + + @JsonProperty(value = JSON_PROPERTY_DATA, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setData(@Nullable List data) { + this.data = data; + } + + + /** + * Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria + * @return totalPages + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TOTAL_PAGES, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Integer getTotalPages() { + return totalPages; + } + + + + + /** + * Total number of elements in all available pages + * @return totalElements + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_TOTAL_ELEMENTS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getTotalElements() { + return totalElements; + } + + + + + /** + * 'false' value indicates the end of the result set + * @return hasNext + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_HAS_NEXT, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getHasNext() { + return hasNext; + } + + + + + /** + * Return true if this PageDataAgentProfileInfo object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PageDataAgentProfileInfo pageDataAgentProfileInfo = (PageDataAgentProfileInfo) o; + return Objects.equals(this.data, pageDataAgentProfileInfo.data) && + Objects.equals(this.totalPages, pageDataAgentProfileInfo.totalPages) && + Objects.equals(this.totalElements, pageDataAgentProfileInfo.totalElements) && + Objects.equals(this.hasNext, pageDataAgentProfileInfo.hasNext); + } + + @Override + public int hashCode() { + return Objects.hash(data, totalPages, totalElements, hasNext); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PageDataAgentProfileInfo {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" totalPages: ").append(toIndentedString(totalPages)).append("\n"); + sb.append(" totalElements: ").append(toIndentedString(totalElements)).append("\n"); + sb.append(" hasNext: ").append(toIndentedString(hasNext)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `data` to the URL query string + if (getData() != null) { + for (int i = 0; i < getData().size(); i++) { + if (getData().get(i) != null) { + joiner.add(getData().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%sdata%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); + } + } + } + + // add `totalPages` to the URL query string + if (getTotalPages() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stotalPages%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTotalPages())))); + } + + // add `totalElements` to the URL query string + if (getTotalElements() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stotalElements%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTotalElements())))); + } + + // add `hasNext` to the URL query string + if (getHasNext() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%shasNext%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getHasNext())))); + } + + return joiner.toString(); + } +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/ProcessingStartStatus.java b/pe/src/main/java/org/thingsboard/client/model/ProcessingStartStatus.java new file mode 100644 index 00000000..562cddc6 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/ProcessingStartStatus.java @@ -0,0 +1,82 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +/** + * Gets or Sets ProcessingStartStatus + */ +public enum ProcessingStartStatus { + + DELIVERY_FAIL("DELIVERY_FAIL"), + + PENDING("PENDING"), + + DELIVERED("DELIVERED"); + + private String value; + + ProcessingStartStatus(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static ProcessingStartStatus fromValue(String value) { + for (ProcessingStartStatus b : ProcessingStartStatus.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + return String.format(java.util.Locale.ROOT, "%s=%s", prefix, this.toString()); + } + +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/RelationTypeGroup.java b/pe/src/main/java/org/thingsboard/client/model/RelationTypeGroup.java index 94ccc494..b31a941e 100644 --- a/pe/src/main/java/org/thingsboard/client/model/RelationTypeGroup.java +++ b/pe/src/main/java/org/thingsboard/client/model/RelationTypeGroup.java @@ -44,7 +44,9 @@ public enum RelationTypeGroup { EDGE("EDGE"), - EDGE_AUTO_ASSIGN_RULE_CHAIN("EDGE_AUTO_ASSIGN_RULE_CHAIN"); + EDGE_AUTO_ASSIGN_RULE_CHAIN("EDGE_AUTO_ASSIGN_RULE_CHAIN"), + + AGENT("AGENT"); private String value; diff --git a/pe/src/main/java/org/thingsboard/client/model/Resource.java b/pe/src/main/java/org/thingsboard/client/model/Resource.java index a22ff99f..bd9918e5 100644 --- a/pe/src/main/java/org/thingsboard/client/model/Resource.java +++ b/pe/src/main/java/org/thingsboard/client/model/Resource.java @@ -100,6 +100,8 @@ public enum Resource { DASHBOARD_GROUP("DASHBOARD_GROUP"), + AGENT_GROUP("AGENT_GROUP"), + ROLE("ROLE"), GROUP_PERMISSION("GROUP_PERMISSION"), @@ -136,6 +138,12 @@ public enum Resource { AI_MODEL("AI_MODEL"), + AGENT("AGENT"), + + AGENT_APP_PROFILE("AGENT_APP_PROFILE"), + + AGENT_PROFILE("AGENT_PROFILE"), + AI("AI"), API_KEY("API_KEY"); diff --git a/pe/src/main/java/org/thingsboard/client/model/RollBackStep.java b/pe/src/main/java/org/thingsboard/client/model/RollBackStep.java new file mode 100644 index 00000000..82eec383 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/RollBackStep.java @@ -0,0 +1,242 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import java.util.UUID; +import org.thingsboard.client.model.AgentAppStep; +import org.thingsboard.client.model.AgentAppStepType; +import org.thingsboard.client.model.RollBackStepState; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.JSON; +import org.thingsboard.client.ApiClient; +/** + * RollBackStep + */ +@JsonPropertyOrder({ + RollBackStep.JSON_PROPERTY_STATE +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +@JsonIgnoreProperties( + value = "type", // ignore manually set type, it will be automatically generated by Jackson during serialization + allowSetters = true // allows the type to be set during deserialization +) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", visible = true) + +public class RollBackStep extends AgentAppStep { + public static final String JSON_PROPERTY_STATE = "state"; + @Nullable + private RollBackStepState state; + + public RollBackStep() { + } + + public RollBackStep state(@Nullable RollBackStepState state) { + this.state = state; + return this; + } + + /** + * Get state + * @return state + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_STATE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public RollBackStepState getState() { + return state; + } + + + @JsonProperty(value = JSON_PROPERTY_STATE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setState(@Nullable RollBackStepState state) { + this.state = state; + } + + + @Override + public RollBackStep id(@Nullable UUID id) { + this.setId(id); + return this; + } + + @Override + public RollBackStep nextId(@Nullable UUID nextId) { + this.setNextId(nextId); + return this; + } + + @Override + public RollBackStep templateOnly(@Nullable Boolean templateOnly) { + this.setTemplateOnly(templateOnly); + return this; + } + + @Override + public RollBackStep condition(@Nullable String condition) { + this.setCondition(condition); + return this; + } + + @Override + public RollBackStep stateful(@Nullable Boolean stateful) { + this.setStateful(stateful); + return this; + } + + /** + * Return true if this RollBackStep object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RollBackStep rollBackStep = (RollBackStep) o; + return Objects.equals(this.state, rollBackStep.state) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(state, super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RollBackStep {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append(" state: ").append(toIndentedString(state)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sid%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getId())))); + } + + // add `nextId` to the URL query string + if (getNextId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%snextId%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getNextId())))); + } + + // add `title` to the URL query string + if (getTitle() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stitle%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTitle())))); + } + + // add `templateOnly` to the URL query string + if (getTemplateOnly() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stemplateOnly%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTemplateOnly())))); + } + + // add `condition` to the URL query string + if (getCondition() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%scondition%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getCondition())))); + } + + // add `stateful` to the URL query string + if (getStateful() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sstateful%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getStateful())))); + } + + // add `type` to the URL query string + if (getType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stype%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getType())))); + } + + // add `state` to the URL query string + if (getState() != null) { + joiner.add(getState().toUrlQueryString(prefix + "state" + suffix)); + } + + return joiner.toString(); + } +static { + // Initialize and register the discriminator mappings. + Map> mappings = new HashMap>(); + mappings.put("RollBackStep", RollBackStep.class); + JSON.registerDiscriminator(RollBackStep.class, "type", mappings); +} +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/RollBackStepState.java b/pe/src/main/java/org/thingsboard/client/model/RollBackStepState.java new file mode 100644 index 00000000..42dbef34 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/RollBackStepState.java @@ -0,0 +1,181 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import org.thingsboard.client.model.AgentAppStepState; +import org.thingsboard.client.model.AgentAppStepType; +import org.thingsboard.client.model.StepFieldAgentAppEventId; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.JSON; +import org.thingsboard.client.ApiClient; +/** + * RollBackStepState + */ +@JsonPropertyOrder({ + RollBackStepState.JSON_PROPERTY_FAILED_EVENT_ID +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +@JsonIgnoreProperties( + value = "type", // ignore manually set type, it will be automatically generated by Jackson during serialization + allowSetters = true // allows the type to be set during deserialization +) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", visible = true) + +public class RollBackStepState extends AgentAppStepState { + public static final String JSON_PROPERTY_FAILED_EVENT_ID = "failedEventId"; + @Nullable + private StepFieldAgentAppEventId failedEventId; + + public RollBackStepState() { + } + + public RollBackStepState failedEventId(@Nullable StepFieldAgentAppEventId failedEventId) { + this.failedEventId = failedEventId; + return this; + } + + /** + * Get failedEventId + * @return failedEventId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_FAILED_EVENT_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public StepFieldAgentAppEventId getFailedEventId() { + return failedEventId; + } + + + @JsonProperty(value = JSON_PROPERTY_FAILED_EVENT_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setFailedEventId(@Nullable StepFieldAgentAppEventId failedEventId) { + this.failedEventId = failedEventId; + } + + + /** + * Return true if this RollBackStepState object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RollBackStepState rollBackStepState = (RollBackStepState) o; + return Objects.equals(this.failedEventId, rollBackStepState.failedEventId) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(failedEventId, super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RollBackStepState {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append(" failedEventId: ").append(toIndentedString(failedEventId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `type` to the URL query string + if (getType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stype%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getType())))); + } + + // add `failedEventId` to the URL query string + if (getFailedEventId() != null) { + joiner.add(getFailedEventId().toUrlQueryString(prefix + "failedEventId" + suffix)); + } + + return joiner.toString(); + } +static { + // Initialize and register the discriminator mappings. + Map> mappings = new HashMap>(); + mappings.put("RollBackStepState", RollBackStepState.class); + JSON.registerDiscriminator(RollBackStepState.class, "type", mappings); +} +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/RunJobStep.java b/pe/src/main/java/org/thingsboard/client/model/RunJobStep.java new file mode 100644 index 00000000..c215603f --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/RunJobStep.java @@ -0,0 +1,242 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import java.util.UUID; +import org.thingsboard.client.model.AgentAppStep; +import org.thingsboard.client.model.AgentAppStepType; +import org.thingsboard.client.model.RunJobStepState; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.JSON; +import org.thingsboard.client.ApiClient; +/** + * RunJobStep + */ +@JsonPropertyOrder({ + RunJobStep.JSON_PROPERTY_STATE +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +@JsonIgnoreProperties( + value = "type", // ignore manually set type, it will be automatically generated by Jackson during serialization + allowSetters = true // allows the type to be set during deserialization +) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", visible = true) + +public class RunJobStep extends AgentAppStep { + public static final String JSON_PROPERTY_STATE = "state"; + @Nullable + private RunJobStepState state; + + public RunJobStep() { + } + + public RunJobStep state(@Nullable RunJobStepState state) { + this.state = state; + return this; + } + + /** + * Get state + * @return state + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_STATE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public RunJobStepState getState() { + return state; + } + + + @JsonProperty(value = JSON_PROPERTY_STATE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setState(@Nullable RunJobStepState state) { + this.state = state; + } + + + @Override + public RunJobStep id(@Nullable UUID id) { + this.setId(id); + return this; + } + + @Override + public RunJobStep nextId(@Nullable UUID nextId) { + this.setNextId(nextId); + return this; + } + + @Override + public RunJobStep templateOnly(@Nullable Boolean templateOnly) { + this.setTemplateOnly(templateOnly); + return this; + } + + @Override + public RunJobStep condition(@Nullable String condition) { + this.setCondition(condition); + return this; + } + + @Override + public RunJobStep stateful(@Nullable Boolean stateful) { + this.setStateful(stateful); + return this; + } + + /** + * Return true if this RunJobStep object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RunJobStep runJobStep = (RunJobStep) o; + return Objects.equals(this.state, runJobStep.state) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(state, super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RunJobStep {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append(" state: ").append(toIndentedString(state)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sid%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getId())))); + } + + // add `nextId` to the URL query string + if (getNextId() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%snextId%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getNextId())))); + } + + // add `title` to the URL query string + if (getTitle() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stitle%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTitle())))); + } + + // add `templateOnly` to the URL query string + if (getTemplateOnly() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stemplateOnly%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getTemplateOnly())))); + } + + // add `condition` to the URL query string + if (getCondition() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%scondition%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getCondition())))); + } + + // add `stateful` to the URL query string + if (getStateful() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sstateful%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getStateful())))); + } + + // add `type` to the URL query string + if (getType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stype%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getType())))); + } + + // add `state` to the URL query string + if (getState() != null) { + joiner.add(getState().toUrlQueryString(prefix + "state" + suffix)); + } + + return joiner.toString(); + } +static { + // Initialize and register the discriminator mappings. + Map> mappings = new HashMap>(); + mappings.put("RunJobStep", RunJobStep.class); + JSON.registerDiscriminator(RunJobStep.class, "type", mappings); +} +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/RunJobStepState.java b/pe/src/main/java/org/thingsboard/client/model/RunJobStepState.java new file mode 100644 index 00000000..ba5ef599 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/RunJobStepState.java @@ -0,0 +1,472 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import org.thingsboard.client.model.AgentAppStepState; +import org.thingsboard.client.model.AgentAppStepType; +import org.thingsboard.client.model.StepFieldBoolean; +import org.thingsboard.client.model.StepFieldInteger; +import org.thingsboard.client.model.StepFieldListString; +import org.thingsboard.client.model.StepFieldString; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.JSON; +import org.thingsboard.client.ApiClient; +/** + * RunJobStepState + */ +@JsonPropertyOrder({ + RunJobStepState.JSON_PROPERTY_IMAGE, + RunJobStepState.JSON_PROPERTY_ENTRYPOINT, + RunJobStepState.JSON_PROPERTY_CMD, + RunJobStepState.JSON_PROPERTY_ENV, + RunJobStepState.JSON_PROPERTY_BINDS, + RunJobStepState.JSON_PROPERTY_NETWORKS, + RunJobStepState.JSON_PROPERTY_PULL_IMAGES, + RunJobStepState.JSON_PROPERTY_RETRIES, + RunJobStepState.JSON_PROPERTY_NETWORK_FROM_SERVICE_IMAGE_REGEX_PATTERN +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +@JsonIgnoreProperties( + value = "type", // ignore manually set type, it will be automatically generated by Jackson during serialization + allowSetters = true // allows the type to be set during deserialization +) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", visible = true) + +public class RunJobStepState extends AgentAppStepState { + public static final String JSON_PROPERTY_IMAGE = "image"; + @Nullable + private StepFieldString image; + + public static final String JSON_PROPERTY_ENTRYPOINT = "entrypoint"; + @Nullable + private StepFieldListString entrypoint; + + public static final String JSON_PROPERTY_CMD = "cmd"; + @Nullable + private StepFieldListString cmd; + + public static final String JSON_PROPERTY_ENV = "env"; + @Nullable + private StepFieldListString env; + + public static final String JSON_PROPERTY_BINDS = "binds"; + @Nullable + private StepFieldListString binds; + + public static final String JSON_PROPERTY_NETWORKS = "networks"; + @Nullable + private StepFieldListString networks; + + public static final String JSON_PROPERTY_PULL_IMAGES = "pullImages"; + @Nullable + private StepFieldBoolean pullImages; + + public static final String JSON_PROPERTY_RETRIES = "retries"; + @Nullable + private StepFieldInteger retries; + + public static final String JSON_PROPERTY_NETWORK_FROM_SERVICE_IMAGE_REGEX_PATTERN = "networkFromServiceImageRegexPattern"; + @Nullable + private StepFieldString networkFromServiceImageRegexPattern; + + public RunJobStepState() { + } + + public RunJobStepState image(@Nullable StepFieldString image) { + this.image = image; + return this; + } + + /** + * Get image + * @return image + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_IMAGE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public StepFieldString getImage() { + return image; + } + + + @JsonProperty(value = JSON_PROPERTY_IMAGE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setImage(@Nullable StepFieldString image) { + this.image = image; + } + + + public RunJobStepState entrypoint(@Nullable StepFieldListString entrypoint) { + this.entrypoint = entrypoint; + return this; + } + + /** + * Get entrypoint + * @return entrypoint + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_ENTRYPOINT, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public StepFieldListString getEntrypoint() { + return entrypoint; + } + + + @JsonProperty(value = JSON_PROPERTY_ENTRYPOINT, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setEntrypoint(@Nullable StepFieldListString entrypoint) { + this.entrypoint = entrypoint; + } + + + public RunJobStepState cmd(@Nullable StepFieldListString cmd) { + this.cmd = cmd; + return this; + } + + /** + * Get cmd + * @return cmd + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_CMD, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public StepFieldListString getCmd() { + return cmd; + } + + + @JsonProperty(value = JSON_PROPERTY_CMD, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setCmd(@Nullable StepFieldListString cmd) { + this.cmd = cmd; + } + + + public RunJobStepState env(@Nullable StepFieldListString env) { + this.env = env; + return this; + } + + /** + * Get env + * @return env + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_ENV, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public StepFieldListString getEnv() { + return env; + } + + + @JsonProperty(value = JSON_PROPERTY_ENV, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setEnv(@Nullable StepFieldListString env) { + this.env = env; + } + + + public RunJobStepState binds(@Nullable StepFieldListString binds) { + this.binds = binds; + return this; + } + + /** + * Get binds + * @return binds + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_BINDS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public StepFieldListString getBinds() { + return binds; + } + + + @JsonProperty(value = JSON_PROPERTY_BINDS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setBinds(@Nullable StepFieldListString binds) { + this.binds = binds; + } + + + public RunJobStepState networks(@Nullable StepFieldListString networks) { + this.networks = networks; + return this; + } + + /** + * Get networks + * @return networks + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_NETWORKS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public StepFieldListString getNetworks() { + return networks; + } + + + @JsonProperty(value = JSON_PROPERTY_NETWORKS, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setNetworks(@Nullable StepFieldListString networks) { + this.networks = networks; + } + + + public RunJobStepState pullImages(@Nullable StepFieldBoolean pullImages) { + this.pullImages = pullImages; + return this; + } + + /** + * Get pullImages + * @return pullImages + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_PULL_IMAGES, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public StepFieldBoolean getPullImages() { + return pullImages; + } + + + @JsonProperty(value = JSON_PROPERTY_PULL_IMAGES, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setPullImages(@Nullable StepFieldBoolean pullImages) { + this.pullImages = pullImages; + } + + + public RunJobStepState retries(@Nullable StepFieldInteger retries) { + this.retries = retries; + return this; + } + + /** + * Get retries + * @return retries + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_RETRIES, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public StepFieldInteger getRetries() { + return retries; + } + + + @JsonProperty(value = JSON_PROPERTY_RETRIES, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setRetries(@Nullable StepFieldInteger retries) { + this.retries = retries; + } + + + public RunJobStepState networkFromServiceImageRegexPattern(@Nullable StepFieldString networkFromServiceImageRegexPattern) { + this.networkFromServiceImageRegexPattern = networkFromServiceImageRegexPattern; + return this; + } + + /** + * Get networkFromServiceImageRegexPattern + * @return networkFromServiceImageRegexPattern + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_NETWORK_FROM_SERVICE_IMAGE_REGEX_PATTERN, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public StepFieldString getNetworkFromServiceImageRegexPattern() { + return networkFromServiceImageRegexPattern; + } + + + @JsonProperty(value = JSON_PROPERTY_NETWORK_FROM_SERVICE_IMAGE_REGEX_PATTERN, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setNetworkFromServiceImageRegexPattern(@Nullable StepFieldString networkFromServiceImageRegexPattern) { + this.networkFromServiceImageRegexPattern = networkFromServiceImageRegexPattern; + } + + + /** + * Return true if this RunJobStepState object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RunJobStepState runJobStepState = (RunJobStepState) o; + return Objects.equals(this.image, runJobStepState.image) && + Objects.equals(this.entrypoint, runJobStepState.entrypoint) && + Objects.equals(this.cmd, runJobStepState.cmd) && + Objects.equals(this.env, runJobStepState.env) && + Objects.equals(this.binds, runJobStepState.binds) && + Objects.equals(this.networks, runJobStepState.networks) && + Objects.equals(this.pullImages, runJobStepState.pullImages) && + Objects.equals(this.retries, runJobStepState.retries) && + Objects.equals(this.networkFromServiceImageRegexPattern, runJobStepState.networkFromServiceImageRegexPattern) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(image, entrypoint, cmd, env, binds, networks, pullImages, retries, networkFromServiceImageRegexPattern, super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RunJobStepState {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append(" image: ").append(toIndentedString(image)).append("\n"); + sb.append(" entrypoint: ").append(toIndentedString(entrypoint)).append("\n"); + sb.append(" cmd: ").append(toIndentedString(cmd)).append("\n"); + sb.append(" env: ").append(toIndentedString(env)).append("\n"); + sb.append(" binds: ").append(toIndentedString(binds)).append("\n"); + sb.append(" networks: ").append(toIndentedString(networks)).append("\n"); + sb.append(" pullImages: ").append(toIndentedString(pullImages)).append("\n"); + sb.append(" retries: ").append(toIndentedString(retries)).append("\n"); + sb.append(" networkFromServiceImageRegexPattern: ").append(toIndentedString(networkFromServiceImageRegexPattern)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `type` to the URL query string + if (getType() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%stype%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getType())))); + } + + // add `image` to the URL query string + if (getImage() != null) { + joiner.add(getImage().toUrlQueryString(prefix + "image" + suffix)); + } + + // add `entrypoint` to the URL query string + if (getEntrypoint() != null) { + joiner.add(getEntrypoint().toUrlQueryString(prefix + "entrypoint" + suffix)); + } + + // add `cmd` to the URL query string + if (getCmd() != null) { + joiner.add(getCmd().toUrlQueryString(prefix + "cmd" + suffix)); + } + + // add `env` to the URL query string + if (getEnv() != null) { + joiner.add(getEnv().toUrlQueryString(prefix + "env" + suffix)); + } + + // add `binds` to the URL query string + if (getBinds() != null) { + joiner.add(getBinds().toUrlQueryString(prefix + "binds" + suffix)); + } + + // add `networks` to the URL query string + if (getNetworks() != null) { + joiner.add(getNetworks().toUrlQueryString(prefix + "networks" + suffix)); + } + + // add `pullImages` to the URL query string + if (getPullImages() != null) { + joiner.add(getPullImages().toUrlQueryString(prefix + "pullImages" + suffix)); + } + + // add `retries` to the URL query string + if (getRetries() != null) { + joiner.add(getRetries().toUrlQueryString(prefix + "retries" + suffix)); + } + + // add `networkFromServiceImageRegexPattern` to the URL query string + if (getNetworkFromServiceImageRegexPattern() != null) { + joiner.add(getNetworkFromServiceImageRegexPattern().toUrlQueryString(prefix + "networkFromServiceImageRegexPattern" + suffix)); + } + + return joiner.toString(); + } +static { + // Initialize and register the discriminator mappings. + Map> mappings = new HashMap>(); + mappings.put("RunJobStepState", RunJobStepState.class); + JSON.registerDiscriminator(RunJobStepState.class, "type", mappings); +} +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/SkipReason.java b/pe/src/main/java/org/thingsboard/client/model/SkipReason.java new file mode 100644 index 00000000..929dcf73 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/SkipReason.java @@ -0,0 +1,84 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +/** + * Gets or Sets SkipReason + */ +public enum SkipReason { + + VERSION_MISMATCH("VERSION_MISMATCH"), + + ACTIVE_EVENT("ACTIVE_EVENT"), + + RATE_LIMIT_EXCEEDED("RATE_LIMIT_EXCEEDED"), + + ERROR("ERROR"); + + private String value; + + SkipReason(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static SkipReason fromValue(String value) { + for (SkipReason b : SkipReason.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + return String.format(java.util.Locale.ROOT, "%s=%s", prefix, this.toString()); + } + +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/SkippedApp.java b/pe/src/main/java/org/thingsboard/client/model/SkippedApp.java new file mode 100644 index 00000000..341728ef --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/SkippedApp.java @@ -0,0 +1,338 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import org.thingsboard.client.model.AgentApplicationId; +import org.thingsboard.client.model.AgentId; +import org.thingsboard.client.model.SkipReason; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * SkippedApp + */ +@JsonPropertyOrder({ + SkippedApp.JSON_PROPERTY_AGENT_ID, + SkippedApp.JSON_PROPERTY_AGENT_NAME, + SkippedApp.JSON_PROPERTY_APPLICATION_ID, + SkippedApp.JSON_PROPERTY_APPLICATION_NAME, + SkippedApp.JSON_PROPERTY_REASON, + SkippedApp.JSON_PROPERTY_MSG +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class SkippedApp { + public static final String JSON_PROPERTY_AGENT_ID = "agentId"; + @Nullable + private AgentId agentId; + + public static final String JSON_PROPERTY_AGENT_NAME = "agentName"; + @Nullable + private String agentName; + + public static final String JSON_PROPERTY_APPLICATION_ID = "applicationId"; + @Nullable + private AgentApplicationId applicationId; + + public static final String JSON_PROPERTY_APPLICATION_NAME = "applicationName"; + @Nullable + private String applicationName; + + public static final String JSON_PROPERTY_REASON = "reason"; + @Nullable + private SkipReason reason; + + public static final String JSON_PROPERTY_MSG = "msg"; + @Nullable + private String msg; + + public SkippedApp() { + } + + public SkippedApp agentId(@Nullable AgentId agentId) { + this.agentId = agentId; + return this; + } + + /** + * Agent Id owning the application + * @return agentId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_AGENT_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentId getAgentId() { + return agentId; + } + + + @JsonProperty(value = JSON_PROPERTY_AGENT_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setAgentId(@Nullable AgentId agentId) { + this.agentId = agentId; + } + + + public SkippedApp agentName(@Nullable String agentName) { + this.agentName = agentName; + return this; + } + + /** + * Agent name + * @return agentName + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_AGENT_NAME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getAgentName() { + return agentName; + } + + + @JsonProperty(value = JSON_PROPERTY_AGENT_NAME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setAgentName(@Nullable String agentName) { + this.agentName = agentName; + } + + + public SkippedApp applicationId(@Nullable AgentApplicationId applicationId) { + this.applicationId = applicationId; + return this; + } + + /** + * Application Id + * @return applicationId + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_APPLICATION_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentApplicationId getApplicationId() { + return applicationId; + } + + + @JsonProperty(value = JSON_PROPERTY_APPLICATION_ID, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setApplicationId(@Nullable AgentApplicationId applicationId) { + this.applicationId = applicationId; + } + + + public SkippedApp applicationName(@Nullable String applicationName) { + this.applicationName = applicationName; + return this; + } + + /** + * Application name + * @return applicationName + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_APPLICATION_NAME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getApplicationName() { + return applicationName; + } + + + @JsonProperty(value = JSON_PROPERTY_APPLICATION_NAME, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setApplicationName(@Nullable String applicationName) { + this.applicationName = applicationName; + } + + + public SkippedApp reason(@Nullable SkipReason reason) { + this.reason = reason; + return this; + } + + /** + * Reason for skipping + * @return reason + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_REASON, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public SkipReason getReason() { + return reason; + } + + + @JsonProperty(value = JSON_PROPERTY_REASON, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setReason(@Nullable SkipReason reason) { + this.reason = reason; + } + + + public SkippedApp msg(@Nullable String msg) { + this.msg = msg; + return this; + } + + /** + * Optional message in case of a failure + * @return msg + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_MSG, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getMsg() { + return msg; + } + + + @JsonProperty(value = JSON_PROPERTY_MSG, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setMsg(@Nullable String msg) { + this.msg = msg; + } + + + /** + * Return true if this SkippedApp object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SkippedApp skippedApp = (SkippedApp) o; + return Objects.equals(this.agentId, skippedApp.agentId) && + Objects.equals(this.agentName, skippedApp.agentName) && + Objects.equals(this.applicationId, skippedApp.applicationId) && + Objects.equals(this.applicationName, skippedApp.applicationName) && + Objects.equals(this.reason, skippedApp.reason) && + Objects.equals(this.msg, skippedApp.msg); + } + + @Override + public int hashCode() { + return Objects.hash(agentId, agentName, applicationId, applicationName, reason, msg); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SkippedApp {\n"); + sb.append(" agentId: ").append(toIndentedString(agentId)).append("\n"); + sb.append(" agentName: ").append(toIndentedString(agentName)).append("\n"); + sb.append(" applicationId: ").append(toIndentedString(applicationId)).append("\n"); + sb.append(" applicationName: ").append(toIndentedString(applicationName)).append("\n"); + sb.append(" reason: ").append(toIndentedString(reason)).append("\n"); + sb.append(" msg: ").append(toIndentedString(msg)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `agentId` to the URL query string + if (getAgentId() != null) { + joiner.add(getAgentId().toUrlQueryString(prefix + "agentId" + suffix)); + } + + // add `agentName` to the URL query string + if (getAgentName() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sagentName%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getAgentName())))); + } + + // add `applicationId` to the URL query string + if (getApplicationId() != null) { + joiner.add(getApplicationId().toUrlQueryString(prefix + "applicationId" + suffix)); + } + + // add `applicationName` to the URL query string + if (getApplicationName() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sapplicationName%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getApplicationName())))); + } + + // add `reason` to the URL query string + if (getReason() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%sreason%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getReason())))); + } + + // add `msg` to the URL query string + if (getMsg() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%smsg%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getMsg())))); + } + + return joiner.toString(); + } +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/StepFieldAgentAppEventId.java b/pe/src/main/java/org/thingsboard/client/model/StepFieldAgentAppEventId.java new file mode 100644 index 00000000..5cd8d65a --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/StepFieldAgentAppEventId.java @@ -0,0 +1,192 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import org.thingsboard.client.model.AgentAppEventId; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * StepFieldAgentAppEventId + */ +@JsonPropertyOrder({ + StepFieldAgentAppEventId.JSON_PROPERTY_VALUE, + StepFieldAgentAppEventId.JSON_PROPERTY_USER_CHOICE +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class StepFieldAgentAppEventId { + public static final String JSON_PROPERTY_VALUE = "value"; + @Nullable + private AgentAppEventId value; + + public static final String JSON_PROPERTY_USER_CHOICE = "userChoice"; + @Nullable + private Boolean userChoice; + + public StepFieldAgentAppEventId() { + } + + public StepFieldAgentAppEventId value(@Nullable AgentAppEventId value) { + this.value = value; + return this; + } + + /** + * Get value + * @return value + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_VALUE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AgentAppEventId getValue() { + return value; + } + + + @JsonProperty(value = JSON_PROPERTY_VALUE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setValue(@Nullable AgentAppEventId value) { + this.value = value; + } + + + public StepFieldAgentAppEventId userChoice(@Nullable Boolean userChoice) { + this.userChoice = userChoice; + return this; + } + + /** + * Get userChoice + * @return userChoice + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_USER_CHOICE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getUserChoice() { + return userChoice; + } + + + @JsonProperty(value = JSON_PROPERTY_USER_CHOICE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setUserChoice(@Nullable Boolean userChoice) { + this.userChoice = userChoice; + } + + + /** + * Return true if this StepFieldAgentAppEventId object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StepFieldAgentAppEventId stepFieldAgentAppEventId = (StepFieldAgentAppEventId) o; + return Objects.equals(this.value, stepFieldAgentAppEventId.value) && + Objects.equals(this.userChoice, stepFieldAgentAppEventId.userChoice); + } + + @Override + public int hashCode() { + return Objects.hash(value, userChoice); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class StepFieldAgentAppEventId {\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append(" userChoice: ").append(toIndentedString(userChoice)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `value` to the URL query string + if (getValue() != null) { + joiner.add(getValue().toUrlQueryString(prefix + "value" + suffix)); + } + + // add `userChoice` to the URL query string + if (getUserChoice() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%suserChoice%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getUserChoice())))); + } + + return joiner.toString(); + } +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/StepFieldBoolean.java b/pe/src/main/java/org/thingsboard/client/model/StepFieldBoolean.java new file mode 100644 index 00000000..1d727653 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/StepFieldBoolean.java @@ -0,0 +1,191 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * StepFieldBoolean + */ +@JsonPropertyOrder({ + StepFieldBoolean.JSON_PROPERTY_VALUE, + StepFieldBoolean.JSON_PROPERTY_USER_CHOICE +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class StepFieldBoolean { + public static final String JSON_PROPERTY_VALUE = "value"; + @Nullable + private Boolean value; + + public static final String JSON_PROPERTY_USER_CHOICE = "userChoice"; + @Nullable + private Boolean userChoice; + + public StepFieldBoolean() { + } + + public StepFieldBoolean value(@Nullable Boolean value) { + this.value = value; + return this; + } + + /** + * Get value + * @return value + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_VALUE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getValue() { + return value; + } + + + @JsonProperty(value = JSON_PROPERTY_VALUE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setValue(@Nullable Boolean value) { + this.value = value; + } + + + public StepFieldBoolean userChoice(@Nullable Boolean userChoice) { + this.userChoice = userChoice; + return this; + } + + /** + * Get userChoice + * @return userChoice + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_USER_CHOICE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getUserChoice() { + return userChoice; + } + + + @JsonProperty(value = JSON_PROPERTY_USER_CHOICE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setUserChoice(@Nullable Boolean userChoice) { + this.userChoice = userChoice; + } + + + /** + * Return true if this StepFieldBoolean object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StepFieldBoolean stepFieldBoolean = (StepFieldBoolean) o; + return Objects.equals(this.value, stepFieldBoolean.value) && + Objects.equals(this.userChoice, stepFieldBoolean.userChoice); + } + + @Override + public int hashCode() { + return Objects.hash(value, userChoice); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class StepFieldBoolean {\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append(" userChoice: ").append(toIndentedString(userChoice)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `value` to the URL query string + if (getValue() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%svalue%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getValue())))); + } + + // add `userChoice` to the URL query string + if (getUserChoice() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%suserChoice%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getUserChoice())))); + } + + return joiner.toString(); + } +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/StepFieldInteger.java b/pe/src/main/java/org/thingsboard/client/model/StepFieldInteger.java new file mode 100644 index 00000000..9d40e2df --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/StepFieldInteger.java @@ -0,0 +1,191 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * StepFieldInteger + */ +@JsonPropertyOrder({ + StepFieldInteger.JSON_PROPERTY_VALUE, + StepFieldInteger.JSON_PROPERTY_USER_CHOICE +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class StepFieldInteger { + public static final String JSON_PROPERTY_VALUE = "value"; + @Nullable + private Integer value; + + public static final String JSON_PROPERTY_USER_CHOICE = "userChoice"; + @Nullable + private Boolean userChoice; + + public StepFieldInteger() { + } + + public StepFieldInteger value(@Nullable Integer value) { + this.value = value; + return this; + } + + /** + * Get value + * @return value + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_VALUE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Integer getValue() { + return value; + } + + + @JsonProperty(value = JSON_PROPERTY_VALUE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setValue(@Nullable Integer value) { + this.value = value; + } + + + public StepFieldInteger userChoice(@Nullable Boolean userChoice) { + this.userChoice = userChoice; + return this; + } + + /** + * Get userChoice + * @return userChoice + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_USER_CHOICE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getUserChoice() { + return userChoice; + } + + + @JsonProperty(value = JSON_PROPERTY_USER_CHOICE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setUserChoice(@Nullable Boolean userChoice) { + this.userChoice = userChoice; + } + + + /** + * Return true if this StepFieldInteger object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StepFieldInteger stepFieldInteger = (StepFieldInteger) o; + return Objects.equals(this.value, stepFieldInteger.value) && + Objects.equals(this.userChoice, stepFieldInteger.userChoice); + } + + @Override + public int hashCode() { + return Objects.hash(value, userChoice); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class StepFieldInteger {\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append(" userChoice: ").append(toIndentedString(userChoice)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `value` to the URL query string + if (getValue() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%svalue%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getValue())))); + } + + // add `userChoice` to the URL query string + if (getUserChoice() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%suserChoice%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getUserChoice())))); + } + + return joiner.toString(); + } +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/StepFieldListString.java b/pe/src/main/java/org/thingsboard/client/model/StepFieldListString.java new file mode 100644 index 00000000..b2b48e9a --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/StepFieldListString.java @@ -0,0 +1,205 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * StepFieldListString + */ +@JsonPropertyOrder({ + StepFieldListString.JSON_PROPERTY_USER_CHOICE, + StepFieldListString.JSON_PROPERTY_VALUE +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class StepFieldListString { + public static final String JSON_PROPERTY_USER_CHOICE = "userChoice"; + @Nullable + private Boolean userChoice; + + public static final String JSON_PROPERTY_VALUE = "value"; + @Nullable + private List value = new ArrayList<>(); + + public StepFieldListString() { + } + + public StepFieldListString userChoice(@Nullable Boolean userChoice) { + this.userChoice = userChoice; + return this; + } + + /** + * Get userChoice + * @return userChoice + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_USER_CHOICE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getUserChoice() { + return userChoice; + } + + + @JsonProperty(value = JSON_PROPERTY_USER_CHOICE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setUserChoice(@Nullable Boolean userChoice) { + this.userChoice = userChoice; + } + + + public StepFieldListString value(@Nullable List value) { + this.value = value; + return this; + } + + public StepFieldListString addValueItem(String valueItem) { + if (this.value == null) { + this.value = new ArrayList<>(); + } + this.value.add(valueItem); + return this; + } + + /** + * Get value + * @return value + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_VALUE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getValue() { + return value; + } + + + @JsonProperty(value = JSON_PROPERTY_VALUE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setValue(@Nullable List value) { + this.value = value; + } + + + /** + * Return true if this StepFieldListString object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StepFieldListString stepFieldListString = (StepFieldListString) o; + return Objects.equals(this.userChoice, stepFieldListString.userChoice) && + Objects.equals(this.value, stepFieldListString.value); + } + + @Override + public int hashCode() { + return Objects.hash(userChoice, value); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class StepFieldListString {\n"); + sb.append(" userChoice: ").append(toIndentedString(userChoice)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `userChoice` to the URL query string + if (getUserChoice() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%suserChoice%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getUserChoice())))); + } + + // add `value` to the URL query string + if (getValue() != null) { + for (int i = 0; i < getValue().size(); i++) { + joiner.add(String.format(java.util.Locale.ROOT, "%svalue%s%s=%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix), + ApiClient.urlEncode(ApiClient.valueToString(getValue().get(i))))); + } + } + + return joiner.toString(); + } +} + diff --git a/pe/src/main/java/org/thingsboard/client/model/StepFieldString.java b/pe/src/main/java/org/thingsboard/client/model/StepFieldString.java new file mode 100644 index 00000000..d38a6f12 --- /dev/null +++ b/pe/src/main/java/org/thingsboard/client/model/StepFieldString.java @@ -0,0 +1,191 @@ +/** + * Copyright © 2026-2026 ThingsBoard, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.thingsboard.client.model; + +import javax.annotation.Generated; +import javax.annotation.Nullable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.StringJoiner; +import java.util.Objects; +import java.util.Map; +import java.util.HashMap; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +import org.thingsboard.client.ApiClient; +/** + * StepFieldString + */ +@JsonPropertyOrder({ + StepFieldString.JSON_PROPERTY_VALUE, + StepFieldString.JSON_PROPERTY_USER_CHOICE +}) +@Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.20.0") +public class StepFieldString { + public static final String JSON_PROPERTY_VALUE = "value"; + @Nullable + private String value; + + public static final String JSON_PROPERTY_USER_CHOICE = "userChoice"; + @Nullable + private Boolean userChoice; + + public StepFieldString() { + } + + public StepFieldString value(@Nullable String value) { + this.value = value; + return this; + } + + /** + * Get value + * @return value + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_VALUE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getValue() { + return value; + } + + + @JsonProperty(value = JSON_PROPERTY_VALUE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setValue(@Nullable String value) { + this.value = value; + } + + + public StepFieldString userChoice(@Nullable Boolean userChoice) { + this.userChoice = userChoice; + return this; + } + + /** + * Get userChoice + * @return userChoice + */ + @Nullable + @JsonProperty(value = JSON_PROPERTY_USER_CHOICE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getUserChoice() { + return userChoice; + } + + + @JsonProperty(value = JSON_PROPERTY_USER_CHOICE, required = false) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setUserChoice(@Nullable Boolean userChoice) { + this.userChoice = userChoice; + } + + + /** + * Return true if this StepFieldString object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StepFieldString stepFieldString = (StepFieldString) o; + return Objects.equals(this.value, stepFieldString.value) && + Objects.equals(this.userChoice, stepFieldString.userChoice); + } + + @Override + public int hashCode() { + return Objects.hash(value, userChoice); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class StepFieldString {\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append(" userChoice: ").append(toIndentedString(userChoice)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + /** + * Convert the instance into URL query string. + * + * @return URL query string + */ + public String toUrlQueryString() { + return toUrlQueryString(null); + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + String suffix = ""; + String containerSuffix = ""; + String containerPrefix = ""; + if (prefix == null) { + // style=form, explode=true, e.g. /pet?name=cat&type=manx + prefix = ""; + } else { + // deepObject style e.g. /pet?id[name]=cat&id[type]=manx + prefix = prefix + "["; + suffix = "]"; + containerSuffix = "]"; + containerPrefix = "["; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `value` to the URL query string + if (getValue() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%svalue%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getValue())))); + } + + // add `userChoice` to the URL query string + if (getUserChoice() != null) { + joiner.add(String.format(java.util.Locale.ROOT, "%suserChoice%s=%s", prefix, suffix, ApiClient.urlEncode(ApiClient.valueToString(getUserChoice())))); + } + + return joiner.toString(); + } +} +