diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index f27fca7..fbaf84d 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -36,14 +36,19 @@ docs/DeviceConfigStatus.md docs/DeviceConsole.md docs/DeviceDecommission.md docs/DeviceDecommissionTargetType.md +docs/DeviceIntegrityCheckStatus.md +docs/DeviceIntegrityCheckStatusType.md docs/DeviceIntegrityStatus.md docs/DeviceIntegrityStatusSummaryType.md docs/DeviceLifecycleHookType.md docs/DeviceLifecycleStatus.md docs/DeviceLifecycleStatusType.md docs/DeviceList.md +docs/DeviceMultipleOwnersDetectedDetails.md +docs/DeviceMultipleOwnersResolvedDetails.md docs/DeviceOsSpec.md docs/DeviceOsStatus.md +docs/DeviceOwnershipChangedDetails.md docs/DeviceResourceStatus.md docs/DeviceResourceStatusType.md docs/DeviceSpec.md @@ -82,6 +87,12 @@ docs/FileSpec.md docs/Fleet.md docs/FleetApi.md docs/FleetList.md +docs/FleetRolloutBatchCompletedDetails.md +docs/FleetRolloutBatchDispatchedDetails.md +docs/FleetRolloutCompletedDetails.md +docs/FleetRolloutDeviceSelectedDetails.md +docs/FleetRolloutFailedDetails.md +docs/FleetRolloutStartedDetails.md docs/FleetRolloutStatus.md docs/FleetSpec.md docs/FleetSpecTemplate.md @@ -103,6 +114,7 @@ docs/ImageVolumeProviderSpec.md docs/ImageVolumeSource.md docs/InlineApplicationProviderSpec.md docs/InlineConfigProviderSpec.md +docs/InternalTaskFailedDetails.md docs/KubernetesSecretProviderSpec.md docs/KubernetesSecretProviderSpecSecretRef.md docs/LabelApi.md @@ -112,7 +124,12 @@ docs/MatchExpression.md docs/MemoryResourceMonitorSpec.md docs/ObjectMeta.md docs/ObjectReference.md +docs/Organization.md +docs/OrganizationApi.md +docs/OrganizationList.md +docs/OrganizationSpec.md docs/PatchRequestInner.md +docs/ReferencedRepositoryUpdatedDetails.md docs/RelativePath.md docs/RepoSpecType.md docs/Repository.md @@ -126,6 +143,7 @@ docs/ResourceKind.md docs/ResourceMonitor.md docs/ResourceMonitorSpec.md docs/ResourceSync.md +docs/ResourceSyncCompletedDetails.md docs/ResourceSyncList.md docs/ResourceSyncSpec.md docs/ResourceSyncStatus.md @@ -153,6 +171,7 @@ flightctl/api/enrollmentrequest_api.py flightctl/api/event_api.py flightctl/api/fleet_api.py flightctl/api/label_api.py +flightctl/api/organization_api.py flightctl/api/repository_api.py flightctl/api/resourcesync_api.py flightctl/api/version_api.py @@ -191,14 +210,19 @@ flightctl/models/device_config_status.py flightctl/models/device_console.py flightctl/models/device_decommission.py flightctl/models/device_decommission_target_type.py +flightctl/models/device_integrity_check_status.py +flightctl/models/device_integrity_check_status_type.py flightctl/models/device_integrity_status.py flightctl/models/device_integrity_status_summary_type.py flightctl/models/device_lifecycle_hook_type.py flightctl/models/device_lifecycle_status.py flightctl/models/device_lifecycle_status_type.py flightctl/models/device_list.py +flightctl/models/device_multiple_owners_detected_details.py +flightctl/models/device_multiple_owners_resolved_details.py flightctl/models/device_os_spec.py flightctl/models/device_os_status.py +flightctl/models/device_ownership_changed_details.py flightctl/models/device_resource_status.py flightctl/models/device_resource_status_type.py flightctl/models/device_spec.py @@ -234,6 +258,12 @@ flightctl/models/file_operation.py flightctl/models/file_spec.py flightctl/models/fleet.py flightctl/models/fleet_list.py +flightctl/models/fleet_rollout_batch_completed_details.py +flightctl/models/fleet_rollout_batch_dispatched_details.py +flightctl/models/fleet_rollout_completed_details.py +flightctl/models/fleet_rollout_device_selected_details.py +flightctl/models/fleet_rollout_failed_details.py +flightctl/models/fleet_rollout_started_details.py flightctl/models/fleet_rollout_status.py flightctl/models/fleet_spec.py flightctl/models/fleet_spec_template.py @@ -255,6 +285,7 @@ flightctl/models/image_volume_provider_spec.py flightctl/models/image_volume_source.py flightctl/models/inline_application_provider_spec.py flightctl/models/inline_config_provider_spec.py +flightctl/models/internal_task_failed_details.py flightctl/models/kubernetes_secret_provider_spec.py flightctl/models/kubernetes_secret_provider_spec_secret_ref.py flightctl/models/label_selector.py @@ -263,7 +294,11 @@ flightctl/models/match_expression.py flightctl/models/memory_resource_monitor_spec.py flightctl/models/object_meta.py flightctl/models/object_reference.py +flightctl/models/organization.py +flightctl/models/organization_list.py +flightctl/models/organization_spec.py flightctl/models/patch_request_inner.py +flightctl/models/referenced_repository_updated_details.py flightctl/models/relative_path.py flightctl/models/repo_spec_type.py flightctl/models/repository.py @@ -276,6 +311,7 @@ flightctl/models/resource_kind.py flightctl/models/resource_monitor.py flightctl/models/resource_monitor_spec.py flightctl/models/resource_sync.py +flightctl/models/resource_sync_completed_details.py flightctl/models/resource_sync_list.py flightctl/models/resource_sync_spec.py flightctl/models/resource_sync_status.py @@ -301,10 +337,22 @@ setup.cfg setup.py test-requirements.txt test/__init__.py -test/test_application_volume.py -test/test_application_volume_provider_spec.py -test/test_application_volume_status.py -test/test_image_pull_policy.py -test/test_image_volume_provider_spec.py -test/test_image_volume_source.py +test/test_device_integrity_check_status.py +test/test_device_integrity_check_status_type.py +test/test_device_multiple_owners_detected_details.py +test/test_device_multiple_owners_resolved_details.py +test/test_device_ownership_changed_details.py +test/test_fleet_rollout_batch_completed_details.py +test/test_fleet_rollout_batch_dispatched_details.py +test/test_fleet_rollout_completed_details.py +test/test_fleet_rollout_device_selected_details.py +test/test_fleet_rollout_failed_details.py +test/test_fleet_rollout_started_details.py +test/test_internal_task_failed_details.py +test/test_organization.py +test/test_organization_api.py +test/test_organization_list.py +test/test_organization_spec.py +test/test_referenced_repository_updated_details.py +test/test_resource_sync_completed_details.py tox.ini diff --git a/README.md b/README.md index 478d279..0c28a8a 100644 --- a/README.md +++ b/README.md @@ -130,6 +130,7 @@ Class | Method | HTTP request | Description *FleetApi* | [**replace_fleet**](docs/FleetApi.md#replace_fleet) | **PUT** /api/v1/fleets/{name} | *FleetApi* | [**replace_fleet_status**](docs/FleetApi.md#replace_fleet_status) | **PUT** /api/v1/fleets/{name}/status | *LabelApi* | [**list_labels**](docs/LabelApi.md#list_labels) | **GET** /api/v1/labels | +*OrganizationApi* | [**list_organizations**](docs/OrganizationApi.md#list_organizations) | **GET** /api/v1/organizations | List organizations *RepositoryApi* | [**create_repository**](docs/RepositoryApi.md#create_repository) | **POST** /api/v1/repositories | *RepositoryApi* | [**delete_repository**](docs/RepositoryApi.md#delete_repository) | **DELETE** /api/v1/repositories/{name} | *RepositoryApi* | [**get_repository**](docs/RepositoryApi.md#get_repository) | **GET** /api/v1/repositories/{name} | @@ -177,14 +178,19 @@ Class | Method | HTTP request | Description - [DeviceConsole](docs/DeviceConsole.md) - [DeviceDecommission](docs/DeviceDecommission.md) - [DeviceDecommissionTargetType](docs/DeviceDecommissionTargetType.md) + - [DeviceIntegrityCheckStatus](docs/DeviceIntegrityCheckStatus.md) + - [DeviceIntegrityCheckStatusType](docs/DeviceIntegrityCheckStatusType.md) - [DeviceIntegrityStatus](docs/DeviceIntegrityStatus.md) - [DeviceIntegrityStatusSummaryType](docs/DeviceIntegrityStatusSummaryType.md) - [DeviceLifecycleHookType](docs/DeviceLifecycleHookType.md) - [DeviceLifecycleStatus](docs/DeviceLifecycleStatus.md) - [DeviceLifecycleStatusType](docs/DeviceLifecycleStatusType.md) - [DeviceList](docs/DeviceList.md) + - [DeviceMultipleOwnersDetectedDetails](docs/DeviceMultipleOwnersDetectedDetails.md) + - [DeviceMultipleOwnersResolvedDetails](docs/DeviceMultipleOwnersResolvedDetails.md) - [DeviceOsSpec](docs/DeviceOsSpec.md) - [DeviceOsStatus](docs/DeviceOsStatus.md) + - [DeviceOwnershipChangedDetails](docs/DeviceOwnershipChangedDetails.md) - [DeviceResourceStatus](docs/DeviceResourceStatus.md) - [DeviceResourceStatusType](docs/DeviceResourceStatusType.md) - [DeviceSpec](docs/DeviceSpec.md) @@ -220,6 +226,12 @@ Class | Method | HTTP request | Description - [FileSpec](docs/FileSpec.md) - [Fleet](docs/Fleet.md) - [FleetList](docs/FleetList.md) + - [FleetRolloutBatchCompletedDetails](docs/FleetRolloutBatchCompletedDetails.md) + - [FleetRolloutBatchDispatchedDetails](docs/FleetRolloutBatchDispatchedDetails.md) + - [FleetRolloutCompletedDetails](docs/FleetRolloutCompletedDetails.md) + - [FleetRolloutDeviceSelectedDetails](docs/FleetRolloutDeviceSelectedDetails.md) + - [FleetRolloutFailedDetails](docs/FleetRolloutFailedDetails.md) + - [FleetRolloutStartedDetails](docs/FleetRolloutStartedDetails.md) - [FleetRolloutStatus](docs/FleetRolloutStatus.md) - [FleetSpec](docs/FleetSpec.md) - [FleetSpecTemplate](docs/FleetSpecTemplate.md) @@ -241,6 +253,7 @@ Class | Method | HTTP request | Description - [ImageVolumeSource](docs/ImageVolumeSource.md) - [InlineApplicationProviderSpec](docs/InlineApplicationProviderSpec.md) - [InlineConfigProviderSpec](docs/InlineConfigProviderSpec.md) + - [InternalTaskFailedDetails](docs/InternalTaskFailedDetails.md) - [KubernetesSecretProviderSpec](docs/KubernetesSecretProviderSpec.md) - [KubernetesSecretProviderSpecSecretRef](docs/KubernetesSecretProviderSpecSecretRef.md) - [LabelSelector](docs/LabelSelector.md) @@ -249,7 +262,11 @@ Class | Method | HTTP request | Description - [MemoryResourceMonitorSpec](docs/MemoryResourceMonitorSpec.md) - [ObjectMeta](docs/ObjectMeta.md) - [ObjectReference](docs/ObjectReference.md) + - [Organization](docs/Organization.md) + - [OrganizationList](docs/OrganizationList.md) + - [OrganizationSpec](docs/OrganizationSpec.md) - [PatchRequestInner](docs/PatchRequestInner.md) + - [ReferencedRepositoryUpdatedDetails](docs/ReferencedRepositoryUpdatedDetails.md) - [RelativePath](docs/RelativePath.md) - [RepoSpecType](docs/RepoSpecType.md) - [Repository](docs/Repository.md) @@ -262,6 +279,7 @@ Class | Method | HTTP request | Description - [ResourceMonitor](docs/ResourceMonitor.md) - [ResourceMonitorSpec](docs/ResourceMonitorSpec.md) - [ResourceSync](docs/ResourceSync.md) + - [ResourceSyncCompletedDetails](docs/ResourceSyncCompletedDetails.md) - [ResourceSyncList](docs/ResourceSyncList.md) - [ResourceSyncSpec](docs/ResourceSyncSpec.md) - [ResourceSyncStatus](docs/ResourceSyncStatus.md) @@ -283,7 +301,19 @@ Class | Method | HTTP request | Description ## Documentation For Authorization -Endpoints do not require authorization. + +Authentication schemes defined for the API: + +### bearerAuth + +- **Type**: Bearer authentication (JWT) + + +### orgId + +- **Type**: API key +- **API key parameter name**: org_id +- **Location**: URL query string ## Author diff --git a/api/v1alpha1/openapi.yml b/api/v1alpha1/openapi.yml index 6e82115..995375e 100644 --- a/api/v1alpha1/openapi.yml +++ b/api/v1alpha1/openapi.yml @@ -28,6 +28,8 @@ tags: description: Operations on Fleet resources. - name: label description: Operations for retrieving labels across different resources. + - name: organization + description: Operations for retrieving Organization resources. - name: repository description: Operations on Repository resources. - name: resourcesync @@ -54,8 +56,14 @@ paths: application/json: schema: $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -117,7 +125,7 @@ paths: schema: $ref: '#/components/schemas/Status' "500": - description: InternalServerError + description: Internal Server Error content: application/json: schema: @@ -177,8 +185,14 @@ paths: application/json: schema: $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -220,13 +234,19 @@ paths: schema: $ref: '#/components/schemas/Status' "409": - description: StatusConflict + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -264,13 +284,19 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -325,7 +351,7 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found content: application/json: schema: @@ -336,8 +362,14 @@ paths: application/json: schema: $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -386,7 +418,7 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found content: application/json: schema: @@ -397,8 +429,14 @@ paths: application/json: schema: $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -435,13 +473,19 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -501,8 +545,14 @@ paths: application/json: schema: $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -544,13 +594,19 @@ paths: schema: $ref: '#/components/schemas/Status' "409": - description: StatusConflict + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -588,13 +644,19 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -649,7 +711,7 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found content: application/json: schema: @@ -660,8 +722,14 @@ paths: application/json: schema: $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -698,13 +766,19 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -753,7 +827,7 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found content: application/json: schema: @@ -764,8 +838,14 @@ paths: application/json: schema: $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -826,13 +906,19 @@ paths: schema: $ref: '#/components/schemas/Status' "403": - description: Not allowed + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -874,13 +960,19 @@ paths: schema: $ref: '#/components/schemas/Status' "409": - description: StatusConflict + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -918,13 +1010,19 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -979,19 +1077,25 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found content: application/json: schema: $ref: '#/components/schemas/Status' "409": - description: StatusConflict + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -1028,13 +1132,19 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -1083,19 +1193,25 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found content: application/json: schema: $ref: '#/components/schemas/Status' "409": - description: StatusConflict + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -1133,13 +1249,19 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -1188,13 +1310,19 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -1243,13 +1371,25 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "409": + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -1299,13 +1439,19 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -1337,7 +1483,7 @@ paths: schema: $ref: '#/components/schemas/Device' "204": - description: No content + description: No Content content: {} "401": description: Unauthorized @@ -1352,19 +1498,25 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found content: application/json: schema: $ref: '#/components/schemas/Status' "409": - description: StatusConflict + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -1413,8 +1565,14 @@ paths: application/json: schema: $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -1474,8 +1632,14 @@ paths: application/json: schema: $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -1517,13 +1681,19 @@ paths: schema: $ref: '#/components/schemas/Status' "409": - description: StatusConflict + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -1561,13 +1731,19 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -1622,19 +1798,25 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found content: application/json: schema: $ref: '#/components/schemas/Status' "409": - description: StatusConflict + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -1683,7 +1865,7 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found content: application/json: schema: @@ -1694,8 +1876,14 @@ paths: application/json: schema: $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -1732,13 +1920,25 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "409": + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -1776,13 +1976,19 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -1825,13 +2031,19 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -1880,7 +2092,7 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found content: application/json: schema: @@ -1891,8 +2103,14 @@ paths: application/json: schema: $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -1942,13 +2160,19 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -2008,8 +2232,14 @@ paths: application/json: schema: $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -2051,13 +2281,19 @@ paths: schema: $ref: '#/components/schemas/Status' "409": - description: StatusConflict + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -2101,7 +2337,7 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found content: application/json: schema: @@ -2118,8 +2354,14 @@ paths: application/json: schema: $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -2157,13 +2399,19 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -2218,7 +2466,7 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found content: application/json: schema: @@ -2229,8 +2477,14 @@ paths: application/json: schema: $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -2267,13 +2521,19 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -2323,19 +2583,25 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found content: application/json: schema: $ref: '#/components/schemas/Status' "409": - description: StatusConflict + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -2401,8 +2667,14 @@ paths: application/json: schema: $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -2444,13 +2716,19 @@ paths: schema: $ref: '#/components/schemas/Status' "409": - description: StatusConflict + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -2494,13 +2772,19 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -2549,7 +2833,7 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found content: application/json: schema: @@ -2566,8 +2850,14 @@ paths: application/json: schema: $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -2616,19 +2906,25 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found content: application/json: schema: $ref: '#/components/schemas/Status' "409": - description: StatusConflict + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -2665,13 +2961,19 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -2709,13 +3011,19 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -2764,13 +3072,19 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -2813,13 +3127,19 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -2885,8 +3205,14 @@ paths: application/json: schema: $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -2930,13 +3256,19 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -2979,13 +3311,19 @@ paths: schema: $ref: '#/components/schemas/Status' "404": - description: NotFound + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -3050,13 +3388,19 @@ paths: schema: $ref: '#/components/schemas/Status' "403": - description: Not allowed + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: @@ -3114,18 +3458,78 @@ paths: schema: $ref: '#/components/schemas/Status' "403": - description: Not allowed + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "503": + description: Service Unavailable + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + /api/v1/organizations: + get: + tags: + - organization + summary: List organizations + description: Retrieves a list of organizations. Only returns organizations that the user has access to. + operationId: listOrganizations + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationList' + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Status' + "429": + description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Status' "503": - description: ServiceUnavailable + description: Service Unavailable content: application/json: schema: $ref: '#/components/schemas/Status' components: + securitySchemes: + bearerAuth: + type: http + scheme: bearer + bearerFormat: JWT + orgId: + type: apiKey + in: query + name: org_id + description: The UUID of the organization that owns the resource. Maps to an organizations metadata.name. schemas: ResourceKind: type: string @@ -3386,10 +3790,6 @@ components: path: type: string description: The path to the config in the Repository. - mountPath: - type: string - description: Path in the device's file system at which the repository's path should be mounted. - default: "/" required: - repository - targetRevision @@ -4123,6 +4523,30 @@ components: type: string description: Human readable information about the device lifecycle status. description: Current status of the device lifecycle. + DeviceIntegrityCheckStatus: + type: object + description: DeviceIntegrityCheckStatus represents the status of the integrity check performed on the device. + required: + - status + properties: + status: + $ref: "#/components/schemas/DeviceIntegrityCheckStatusType" + info: + type: string + description: Human-readable information about the integrity check status. + DeviceIntegrityCheckStatusType: + type: string + description: Status of the integrity check performed on the device. + enum: + - "Unknown" + - "Unsupported" + - "Failed" + - "Verified" + x-enum-varnames: + - "DeviceIntegrityCheckStatusUnknown" + - "DeviceIntegrityCheckStatusUnsupported" + - "DeviceIntegrityCheckStatusFailed" + - "DeviceIntegrityCheckStatusVerified" DeviceLifecycleStatusType: type: string enum: @@ -4142,21 +4566,29 @@ components: required: - status properties: + deviceIdentity: + $ref: "#/components/schemas/DeviceIntegrityCheckStatus" + tpm: + $ref: "#/components/schemas/DeviceIntegrityCheckStatus" status: $ref: "#/components/schemas/DeviceIntegrityStatusSummaryType" info: type: string description: Human readable information about the last integrity transition. + lastVerified: + type: string + format: date-time + description: Timestamp of the last integrity verification. DeviceIntegrityStatusSummaryType: type: string description: Status of the integrity of the device. enum: - - "Passed" + - "Verified" - "Failed" - "Unknown" - "Unsupported" x-enum-varnames: - - "DeviceIntegrityStatusPassed" + - "DeviceIntegrityStatusVerified" - "DeviceIntegrityStatusFailed" - "DeviceIntegrityStatusUnknown" - "DeviceIntegrityStatusUnsupported" @@ -4600,7 +5032,7 @@ components: items: type: string description: A single systemd unit name, with or without suffix, or a shell-style glob pattern to match against currently loaded units. - pattern: '^[a-zA-Z0-9:\-_.\\*]*$' # * plus https://github.com/systemd/systemd/blob/9cebda59e818cdb89dc1e53ab5bb51b91b3dc3ff/src/basic/unit-name.c#L42 + pattern: '^[0-9a-zA-Z:\-_.\\\[\]!\-\*\?]+(@[0-9a-zA-Z:\-_.\\\[\]!\-\*\?]+)?(\.[a-zA-Z\[\]!\-\*\?]+)?$' # SystemD unit pattern supports all allowed formats for unit files and glob searches including templated services maxLength: 256 resources: type: array @@ -4916,7 +5348,6 @@ components: - 'Accessible' # ResourceSync - 'ResourceParsed' # ResourceSync - 'Synced' # ResourceSync - - 'OverlappingSelectors' # Fleet - 'Valid' # Fleet - 'RolloutInProgress' # Fleet - 'Updating' # Device @@ -4932,7 +5363,6 @@ components: - ResourceSyncAccessible - ResourceSyncResourceParsed - ResourceSyncSynced - - FleetOverlappingSelectors - FleetValid - FleetRolloutInProgress - DeviceUpdating @@ -5099,10 +5529,38 @@ components: - DeviceApplicationDegraded - DeviceApplicationHealthy - DeviceDisconnected + - DeviceIsRebooting - DeviceConnected - DeviceContentUpToDate - DeviceContentOutOfDate - DeviceContentUpdating + - DeviceUpdateFailed + - EnrollmentRequestApproved + - EnrollmentRequestApprovalFailed + - DeviceMultipleOwnersDetected + - DeviceMultipleOwnersResolved + - DeviceSpecValid + - DeviceSpecInvalid + - InternalTaskFailed + - RepositoryAccessible + - RepositoryInaccessible + - ReferencedRepositoryUpdated + - FleetValid + - FleetInvalid + - FleetRolloutCreated + - FleetRolloutStarted + - FleetRolloutFailed + - FleetRolloutCompleted + - FleetRolloutBatchDispatched + - FleetRolloutDeviceSelected + - FleetRolloutBatchCompleted + - ResourceSyncCommitDetected + - ResourceSyncAccessible + - ResourceSyncInaccessible + - ResourceSyncParsed + - ResourceSyncParsingFailed + - ResourceSyncSynced + - ResourceSyncSyncFailed message: type: string description: A human-readable description of the status of this operation. @@ -5165,19 +5623,54 @@ components: description: EventList is a list of Events. EventDetails: type: object + required: + - detailType description: Event-specific details, structured based on event type. + discriminator: + propertyName: detailType + mapping: + ResourceUpdated: "#/components/schemas/ResourceUpdatedDetails" + DeviceOwnershipChanged: "#/components/schemas/DeviceOwnershipChangedDetails" + DeviceMultipleOwnersDetected: "#/components/schemas/DeviceMultipleOwnersDetectedDetails" + DeviceMultipleOwnersResolved: "#/components/schemas/DeviceMultipleOwnersResolvedDetails" + InternalTaskFailed: "#/components/schemas/InternalTaskFailedDetails" + ResourceSyncCompleted: "#/components/schemas/ResourceSyncCompletedDetails" + ReferencedRepositoryUpdated: "#/components/schemas/ReferencedRepositoryUpdatedDetails" + FleetRolloutStarted: "#/components/schemas/FleetRolloutStartedDetails" + FleetRolloutFailed: "#/components/schemas/FleetRolloutFailedDetails" + FleetRolloutCompleted: "#/components/schemas/FleetRolloutCompletedDetails" + FleetRolloutBatchDispatched: "#/components/schemas/FleetRolloutBatchDispatchedDetails" + FleetRolloutBatchCompleted: "#/components/schemas/FleetRolloutBatchCompletedDetails" + FleetRolloutDeviceSelected: "#/components/schemas/FleetRolloutDeviceSelectedDetails" oneOf: - $ref: "#/components/schemas/ResourceUpdatedDetails" + - $ref: "#/components/schemas/DeviceOwnershipChangedDetails" + - $ref: "#/components/schemas/DeviceMultipleOwnersDetectedDetails" + - $ref: "#/components/schemas/DeviceMultipleOwnersResolvedDetails" + - $ref: "#/components/schemas/InternalTaskFailedDetails" + - $ref: "#/components/schemas/ResourceSyncCompletedDetails" + - $ref: "#/components/schemas/ReferencedRepositoryUpdatedDetails" + - $ref: "#/components/schemas/FleetRolloutStartedDetails" + - $ref: "#/components/schemas/FleetRolloutFailedDetails" + - $ref: "#/components/schemas/FleetRolloutCompletedDetails" + - $ref: "#/components/schemas/FleetRolloutBatchDispatchedDetails" + - $ref: "#/components/schemas/FleetRolloutBatchCompletedDetails" + - $ref: "#/components/schemas/FleetRolloutDeviceSelectedDetails" ResourceUpdatedDetails: type: object required: + - detailType - updatedFields properties: + detailType: + type: string + enum: [ResourceUpdated] + description: The type of detail for discriminator purposes. updatedFields: type: array items: type: string - enum: [owner, labels, spec] + enum: [owner, labels, spec, spec.selector, spec.template] description: List of fields that were updated in the resource. previousOwner: type: string @@ -5186,4 +5679,287 @@ components: newOwner: type: string nullable: true - description: The new owner (if applicable). \ No newline at end of file + description: The new owner (if applicable). + DeviceOwnershipChangedDetails: + type: object + required: + - detailType + properties: + detailType: + type: string + enum: [DeviceOwnershipChanged] + description: The type of detail for discriminator purposes. + previousOwner: + type: string + nullable: true + description: The previous owner fleet (null if none). + newOwner: + type: string + nullable: true + description: The new owner fleet (null if removed). + DeviceMultipleOwnersDetectedDetails: + type: object + required: + - detailType + - matchingFleets + properties: + detailType: + type: string + enum: [DeviceMultipleOwnersDetected] + description: The type of detail for discriminator purposes. + matchingFleets: + type: array + items: + type: string + description: List of fleet names that match the device. + DeviceMultipleOwnersResolvedDetails: + type: object + required: + - detailType + - resolutionType + properties: + detailType: + type: string + enum: [DeviceMultipleOwnersResolved] + description: The type of detail for discriminator purposes. + resolutionType: + type: string + enum: [SingleMatch, NoMatch, FleetDeleted] + description: How the conflict was resolved. + assignedOwner: + type: string + nullable: true + description: The fleet assigned as owner (null if no owner). + previousMatchingFleets: + type: array + items: + type: string + description: List of fleets that previously matched the device. + InternalTaskFailedDetails: + type: object + required: + - detailType + - taskType + - errorMessage + properties: + detailType: + type: string + enum: [InternalTaskFailed] + description: The type of detail for discriminator purposes. + taskType: + type: string + description: The type of internal task that failed. + errorMessage: + type: string + description: The error message describing the failure. + retryCount: + type: integer + description: Number of times the task has been retried. + taskParameters: + type: object + additionalProperties: + type: string + description: Parameters needed to retry the task. + ResourceSyncCompletedDetails: + type: object + required: + - detailType + - commitHash + - changeCount + - errorCount + properties: + detailType: + type: string + enum: [ResourceSyncCompleted] + description: The type of detail for discriminator purposes. + commitHash: + type: string + description: Hash of the last commit. + changeCount: + type: integer + description: Number of changes introduced by this ResourceSync update. + errorCount: + type: integer + description: Number of errors encountered by this ResourceSync update. + FleetRolloutStartedDetails: + type: object + required: + - detailType + - templateVersion + - rolloutStrategy + properties: + detailType: + type: string + enum: [FleetRolloutStarted] + description: The type of detail for discriminator purposes. + templateVersion: + type: string + description: The name of the TemplateVersion that is rolling out. + rolloutStrategy: + type: string + enum: [None, Batched] + description: Rollout strategy type. + FleetRolloutDeviceSelectedDetails: + type: object + required: + - detailType + - fleetName + - templateVersion + properties: + detailType: + type: string + enum: [FleetRolloutDeviceSelected] + description: The type of detail for discriminator purposes. + fleetName: + type: string + description: The name of the fleet that the device is being selected for. + templateVersion: + type: string + description: The name of the TemplateVersion that the device is being selected to render. + FleetRolloutFailedDetails: + type: object + required: + - detailType + - templateVersion + properties: + detailType: + type: string + enum: [FleetRolloutFailed] + description: The type of detail for discriminator purposes. + templateVersion: + type: string + description: The name of the TemplateVersion that this fleet rollout failed for. + FleetRolloutCompletedDetails: + type: object + required: + - detailType + - templateVersion + properties: + detailType: + type: string + enum: [FleetRolloutCompleted] + description: The type of detail for discriminator purposes. + templateVersion: + type: string + description: The name of the TemplateVersion that this fleet rollout is completed for. + FleetRolloutBatchDispatchedDetails: + type: object + required: + - detailType + - templateVersion + - batch + properties: + detailType: + type: string + enum: [FleetRolloutBatchDispatched] + description: The type of detail for discriminator purposes. + templateVersion: + type: string + description: The name of the TemplateVersion that this batch is rolling out to. + batch: + type: string + description: The batch within the fleet rollout. + FleetRolloutBatchCompletedDetails: + type: object + required: + - detailType + - templateVersion + - batch + - successPercentage + - total + - successful + - failed + - timedOut + properties: + detailType: + type: string + enum: [FleetRolloutBatchCompleted] + description: The type of detail for discriminator purposes. + templateVersion: + type: string + description: The name of the TemplateVersion that this batch is rolling out to. + batch: + type: string + description: The batch within the fleet rollout. + successPercentage: + type: integer + format: int64 + description: The success percentage of the batch. + total: + type: integer + format: int64 + description: The total number of devices in the batch. + successful: + type: integer + format: int64 + description: The number of successful devices in the batch. + failed: + type: integer + format: int64 + description: The number of failed devices in the batch. + timedOut: + type: integer + format: int64 + description: The number of timed out devices in the batch. + ReferencedRepositoryUpdatedDetails: + type: object + required: + - detailType + - repository + properties: + detailType: + type: string + enum: [ReferencedRepositoryUpdated] + description: The type of detail for discriminator purposes. + repository: + type: string + description: The name of the repository that was updated. + Organization: + type: object + required: + - apiVersion + - kind + - metadata + properties: + apiVersion: + type: string + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources.' + kind: + type: string + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds.' + metadata: + $ref: '#/components/schemas/ObjectMeta' + spec: + $ref: '#/components/schemas/OrganizationSpec' + OrganizationSpec: + type: object + description: OrganizationSpec describes an organization. + properties: + displayName: + type: string + description: Human readable name shown to users. + externalId: + type: string + description: External ID of the organization. + OrganizationList: + type: object + required: + - apiVersion + - kind + - metadata + - items + properties: + apiVersion: + type: string + description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources.' + kind: + type: string + description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds.' + metadata: + $ref: '#/components/schemas/ListMeta' + items: + type: array + description: 'List of Organizations.' + items: + $ref: '#/components/schemas/Organization' + description: OrganizationList is a list of Organizations. diff --git a/docs/AuthenticationApi.md b/docs/AuthenticationApi.md index bbbd4e5..b1d2920 100644 --- a/docs/AuthenticationApi.md +++ b/docs/AuthenticationApi.md @@ -139,7 +139,7 @@ No authorization required **400** | Bad Request | - | **401** | Token invalid | - | **418** | Auth not configured | - | -**500** | InternalServerError | - | +**500** | Internal Server Error | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) diff --git a/docs/CertificatesigningrequestApi.md b/docs/CertificatesigningrequestApi.md index ec49d4c..78fd36d 100644 --- a/docs/CertificatesigningrequestApi.md +++ b/docs/CertificatesigningrequestApi.md @@ -80,8 +80,9 @@ No authorization required **400** | Bad Request | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**409** | StatusConflict | - | -**503** | ServiceUnavailable | - | +**409** | Conflict | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -151,8 +152,9 @@ No authorization required **200** | OK | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**404** | NotFound | - | -**503** | ServiceUnavailable | - | +**404** | Not Found | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -222,8 +224,9 @@ No authorization required **200** | OK | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**404** | NotFound | - | -**503** | ServiceUnavailable | - | +**404** | Not Found | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -300,7 +303,8 @@ No authorization required **400** | Bad Request | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**503** | ServiceUnavailable | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -373,10 +377,11 @@ No authorization required **200** | OK | - | **400** | Bad Request | - | **401** | Unauthorized | - | -**404** | NotFound | - | +**404** | Not Found | - | **403** | Forbidden | - | **409** | Conflict | - | -**503** | ServiceUnavailable | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -450,9 +455,10 @@ No authorization required **400** | Bad Request | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**404** | NotFound | - | +**404** | Not Found | - | **409** | Conflict | - | -**503** | ServiceUnavailable | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -525,9 +531,10 @@ No authorization required **400** | Bad Request | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**404** | NotFound | - | -**409** | StatusConflict | - | -**503** | ServiceUnavailable | - | +**404** | Not Found | - | +**409** | Conflict | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) diff --git a/docs/ConditionType.md b/docs/ConditionType.md index 7233f1e..6277d9a 100644 --- a/docs/ConditionType.md +++ b/docs/ConditionType.md @@ -20,8 +20,6 @@ Type of condition in CamelCase. * `SYNCED` (value: `'Synced'`) -* `OVERLAPPINGSELECTORS` (value: `'OverlappingSelectors'`) - * `VALID` (value: `'Valid'`) * `ROLLOUTINPROGRESS` (value: `'RolloutInProgress'`) diff --git a/docs/DeviceApi.md b/docs/DeviceApi.md index 6a3a9ae..5113d1a 100644 --- a/docs/DeviceApi.md +++ b/docs/DeviceApi.md @@ -84,8 +84,9 @@ No authorization required **400** | Bad Request | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**409** | StatusConflict | - | -**503** | ServiceUnavailable | - | +**409** | Conflict | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -159,8 +160,9 @@ No authorization required **400** | Bad Request | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**404** | NotFound | - | -**503** | ServiceUnavailable | - | +**404** | Not Found | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -230,8 +232,9 @@ No authorization required **200** | OK | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**404** | NotFound | - | -**503** | ServiceUnavailable | - | +**404** | Not Found | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -301,8 +304,9 @@ No authorization required **200** | OK | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**404** | NotFound | - | -**503** | ServiceUnavailable | - | +**404** | Not Found | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -372,8 +376,9 @@ No authorization required **200** | OK | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**404** | NotFound | - | -**503** | ServiceUnavailable | - | +**404** | Not Found | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -443,12 +448,13 @@ No authorization required | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | OK | - | -**204** | No content | - | +**204** | No Content | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**404** | NotFound | - | -**409** | StatusConflict | - | -**503** | ServiceUnavailable | - | +**404** | Not Found | - | +**409** | Conflict | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -526,8 +532,9 @@ No authorization required **200** | OK | - | **400** | Bad Request | - | **401** | Unauthorized | - | -**403** | Not allowed | - | -**503** | ServiceUnavailable | - | +**403** | Forbidden | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -601,9 +608,10 @@ No authorization required **400** | Bad Request | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**404** | NotFound | - | -**409** | StatusConflict | - | -**503** | ServiceUnavailable | - | +**404** | Not Found | - | +**409** | Conflict | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -677,8 +685,9 @@ No authorization required **400** | Bad Request | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**404** | NotFound | - | -**503** | ServiceUnavailable | - | +**404** | Not Found | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -752,9 +761,10 @@ No authorization required **400** | Bad Request | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**404** | NotFound | - | -**409** | StatusConflict | - | -**503** | ServiceUnavailable | - | +**404** | Not Found | - | +**409** | Conflict | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -827,8 +837,10 @@ No authorization required **400** | Bad Request | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**404** | NotFound | - | -**503** | ServiceUnavailable | - | +**404** | Not Found | - | +**409** | Conflict | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) diff --git a/docs/DeviceIntegrityCheckStatus.md b/docs/DeviceIntegrityCheckStatus.md new file mode 100644 index 0000000..003196a --- /dev/null +++ b/docs/DeviceIntegrityCheckStatus.md @@ -0,0 +1,31 @@ +# DeviceIntegrityCheckStatus + +DeviceIntegrityCheckStatus represents the status of the integrity check performed on the device. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**status** | [**DeviceIntegrityCheckStatusType**](DeviceIntegrityCheckStatusType.md) | | +**info** | **str** | Human-readable information about the integrity check status. | [optional] + +## Example + +```python +from flightctl.models.device_integrity_check_status import DeviceIntegrityCheckStatus + +# TODO update the JSON string below +json = "{}" +# create an instance of DeviceIntegrityCheckStatus from a JSON string +device_integrity_check_status_instance = DeviceIntegrityCheckStatus.from_json(json) +# print the JSON string representation of the object +print(DeviceIntegrityCheckStatus.to_json()) + +# convert the object into a dict +device_integrity_check_status_dict = device_integrity_check_status_instance.to_dict() +# create an instance of DeviceIntegrityCheckStatus from a dict +device_integrity_check_status_from_dict = DeviceIntegrityCheckStatus.from_dict(device_integrity_check_status_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DeviceIntegrityCheckStatusType.md b/docs/DeviceIntegrityCheckStatusType.md new file mode 100644 index 0000000..fd2b31d --- /dev/null +++ b/docs/DeviceIntegrityCheckStatusType.md @@ -0,0 +1,17 @@ +# DeviceIntegrityCheckStatusType + +Status of the integrity check performed on the device. + +## Enum + +* `UNKNOWN` (value: `'Unknown'`) + +* `UNSUPPORTED` (value: `'Unsupported'`) + +* `FAILED` (value: `'Failed'`) + +* `VERIFIED` (value: `'Verified'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DeviceIntegrityStatus.md b/docs/DeviceIntegrityStatus.md index 914c885..d3f516c 100644 --- a/docs/DeviceIntegrityStatus.md +++ b/docs/DeviceIntegrityStatus.md @@ -6,8 +6,11 @@ Summary status of the integrity of the device. Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**device_identity** | [**DeviceIntegrityCheckStatus**](DeviceIntegrityCheckStatus.md) | | [optional] +**tpm** | [**DeviceIntegrityCheckStatus**](DeviceIntegrityCheckStatus.md) | | [optional] **status** | [**DeviceIntegrityStatusSummaryType**](DeviceIntegrityStatusSummaryType.md) | | **info** | **str** | Human readable information about the last integrity transition. | [optional] +**last_verified** | **datetime** | Timestamp of the last integrity verification. | [optional] ## Example diff --git a/docs/DeviceIntegrityStatusSummaryType.md b/docs/DeviceIntegrityStatusSummaryType.md index fdd8334..3750118 100644 --- a/docs/DeviceIntegrityStatusSummaryType.md +++ b/docs/DeviceIntegrityStatusSummaryType.md @@ -4,7 +4,7 @@ Status of the integrity of the device. ## Enum -* `PASSED` (value: `'Passed'`) +* `VERIFIED` (value: `'Verified'`) * `FAILED` (value: `'Failed'`) diff --git a/docs/DeviceMultipleOwnersDetectedDetails.md b/docs/DeviceMultipleOwnersDetectedDetails.md new file mode 100644 index 0000000..e0f9bb7 --- /dev/null +++ b/docs/DeviceMultipleOwnersDetectedDetails.md @@ -0,0 +1,30 @@ +# DeviceMultipleOwnersDetectedDetails + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**detail_type** | **str** | The type of detail for discriminator purposes. | +**matching_fleets** | **List[str]** | List of fleet names that match the device. | + +## Example + +```python +from flightctl.models.device_multiple_owners_detected_details import DeviceMultipleOwnersDetectedDetails + +# TODO update the JSON string below +json = "{}" +# create an instance of DeviceMultipleOwnersDetectedDetails from a JSON string +device_multiple_owners_detected_details_instance = DeviceMultipleOwnersDetectedDetails.from_json(json) +# print the JSON string representation of the object +print(DeviceMultipleOwnersDetectedDetails.to_json()) + +# convert the object into a dict +device_multiple_owners_detected_details_dict = device_multiple_owners_detected_details_instance.to_dict() +# create an instance of DeviceMultipleOwnersDetectedDetails from a dict +device_multiple_owners_detected_details_from_dict = DeviceMultipleOwnersDetectedDetails.from_dict(device_multiple_owners_detected_details_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DeviceMultipleOwnersResolvedDetails.md b/docs/DeviceMultipleOwnersResolvedDetails.md new file mode 100644 index 0000000..1690241 --- /dev/null +++ b/docs/DeviceMultipleOwnersResolvedDetails.md @@ -0,0 +1,32 @@ +# DeviceMultipleOwnersResolvedDetails + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**detail_type** | **str** | The type of detail for discriminator purposes. | +**resolution_type** | **str** | How the conflict was resolved. | +**assigned_owner** | **str** | The fleet assigned as owner (null if no owner). | [optional] +**previous_matching_fleets** | **List[str]** | List of fleets that previously matched the device. | [optional] + +## Example + +```python +from flightctl.models.device_multiple_owners_resolved_details import DeviceMultipleOwnersResolvedDetails + +# TODO update the JSON string below +json = "{}" +# create an instance of DeviceMultipleOwnersResolvedDetails from a JSON string +device_multiple_owners_resolved_details_instance = DeviceMultipleOwnersResolvedDetails.from_json(json) +# print the JSON string representation of the object +print(DeviceMultipleOwnersResolvedDetails.to_json()) + +# convert the object into a dict +device_multiple_owners_resolved_details_dict = device_multiple_owners_resolved_details_instance.to_dict() +# create an instance of DeviceMultipleOwnersResolvedDetails from a dict +device_multiple_owners_resolved_details_from_dict = DeviceMultipleOwnersResolvedDetails.from_dict(device_multiple_owners_resolved_details_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DeviceOwnershipChangedDetails.md b/docs/DeviceOwnershipChangedDetails.md new file mode 100644 index 0000000..09ec4b4 --- /dev/null +++ b/docs/DeviceOwnershipChangedDetails.md @@ -0,0 +1,31 @@ +# DeviceOwnershipChangedDetails + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**detail_type** | **str** | The type of detail for discriminator purposes. | +**previous_owner** | **str** | The previous owner fleet (null if none). | [optional] +**new_owner** | **str** | The new owner fleet (null if removed). | [optional] + +## Example + +```python +from flightctl.models.device_ownership_changed_details import DeviceOwnershipChangedDetails + +# TODO update the JSON string below +json = "{}" +# create an instance of DeviceOwnershipChangedDetails from a JSON string +device_ownership_changed_details_instance = DeviceOwnershipChangedDetails.from_json(json) +# print the JSON string representation of the object +print(DeviceOwnershipChangedDetails.to_json()) + +# convert the object into a dict +device_ownership_changed_details_dict = device_ownership_changed_details_instance.to_dict() +# create an instance of DeviceOwnershipChangedDetails from a dict +device_ownership_changed_details_from_dict = DeviceOwnershipChangedDetails.from_dict(device_ownership_changed_details_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EnrollmentrequestApi.md b/docs/EnrollmentrequestApi.md index 7ecd057..4365494 100644 --- a/docs/EnrollmentrequestApi.md +++ b/docs/EnrollmentrequestApi.md @@ -87,8 +87,9 @@ No authorization required **400** | Bad Request | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**404** | NotFound | - | -**503** | ServiceUnavailable | - | +**404** | Not Found | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -159,8 +160,9 @@ No authorization required **400** | Bad Request | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**409** | StatusConflict | - | -**503** | ServiceUnavailable | - | +**409** | Conflict | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -230,8 +232,10 @@ No authorization required **200** | OK | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**404** | NotFound | - | -**503** | ServiceUnavailable | - | +**404** | Not Found | - | +**409** | Conflict | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -303,7 +307,8 @@ No authorization required **401** | Unauthorized | - | **403** | Forbidden | - | **404** | Not Found | - | -**503** | ServiceUnavailable | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -373,8 +378,9 @@ No authorization required **200** | OK | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**404** | NotFound | - | -**503** | ServiceUnavailable | - | +**404** | Not Found | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -444,8 +450,9 @@ No authorization required **200** | OK | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**404** | NotFound | - | -**503** | ServiceUnavailable | - | +**404** | Not Found | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -522,7 +529,8 @@ No authorization required **400** | Bad Request | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**503** | ServiceUnavailable | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -596,9 +604,10 @@ No authorization required **400** | Bad Request | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**404** | NotFound | - | +**404** | Not Found | - | **409** | Conflict | - | -**503** | ServiceUnavailable | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -672,9 +681,10 @@ No authorization required **400** | Bad Request | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**404** | NotFound | - | +**404** | Not Found | - | **409** | Conflict | - | -**503** | ServiceUnavailable | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -748,9 +758,10 @@ No authorization required **400** | Bad Request | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**404** | NotFound | - | -**409** | StatusConflict | - | -**503** | ServiceUnavailable | - | +**404** | Not Found | - | +**409** | Conflict | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -822,8 +833,9 @@ No authorization required **200** | OK | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**404** | NotFound | - | -**503** | ServiceUnavailable | - | +**404** | Not Found | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) diff --git a/docs/EventApi.md b/docs/EventApi.md index aad266e..2fb945e 100644 --- a/docs/EventApi.md +++ b/docs/EventApi.md @@ -79,8 +79,9 @@ No authorization required **200** | OK | - | **400** | Bad Request | - | **401** | Unauthorized | - | -**403** | Not allowed | - | -**503** | ServiceUnavailable | - | +**403** | Forbidden | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) diff --git a/docs/EventDetails.md b/docs/EventDetails.md index ec87b42..88ee54e 100644 --- a/docs/EventDetails.md +++ b/docs/EventDetails.md @@ -6,9 +6,31 @@ Event-specific details, structured based on event type. Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**detail_type** | **str** | The type of detail for discriminator purposes. | **updated_fields** | **List[str]** | List of fields that were updated in the resource. | -**previous_owner** | **str** | The previous owner (if applicable). | [optional] -**new_owner** | **str** | The new owner (if applicable). | [optional] +**previous_owner** | **str** | The previous owner fleet (null if none). | [optional] +**new_owner** | **str** | The new owner fleet (null if removed). | [optional] +**matching_fleets** | **List[str]** | List of fleet names that match the device. | +**resolution_type** | **str** | How the conflict was resolved. | +**assigned_owner** | **str** | The fleet assigned as owner (null if no owner). | [optional] +**previous_matching_fleets** | **List[str]** | List of fleets that previously matched the device. | [optional] +**task_type** | **str** | The type of internal task that failed. | +**error_message** | **str** | The error message describing the failure. | +**retry_count** | **int** | Number of times the task has been retried. | [optional] +**task_parameters** | **Dict[str, str]** | Parameters needed to retry the task. | [optional] +**commit_hash** | **str** | Hash of the last commit. | +**change_count** | **int** | Number of changes introduced by this ResourceSync update. | +**error_count** | **int** | Number of errors encountered by this ResourceSync update. | +**repository** | **str** | The name of the repository that was updated. | +**template_version** | **str** | The name of the TemplateVersion that the device is being selected to render. | +**rollout_strategy** | **str** | Rollout strategy type. | +**batch** | **str** | The batch within the fleet rollout. | +**success_percentage** | **int** | The success percentage of the batch. | +**total** | **int** | The total number of devices in the batch. | +**successful** | **int** | The number of successful devices in the batch. | +**failed** | **int** | The number of failed devices in the batch. | +**timed_out** | **int** | The number of timed out devices in the batch. | +**fleet_name** | **str** | The name of the fleet that the device is being selected for. | ## Example diff --git a/docs/FleetApi.md b/docs/FleetApi.md index bbdec4e..68f3401 100644 --- a/docs/FleetApi.md +++ b/docs/FleetApi.md @@ -85,8 +85,9 @@ No authorization required **400** | Bad Request | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**409** | StatusConflict | - | -**503** | ServiceUnavailable | - | +**409** | Conflict | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -156,8 +157,9 @@ No authorization required **200** | OK | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**404** | NotFound | - | -**503** | ServiceUnavailable | - | +**404** | Not Found | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -229,8 +231,9 @@ No authorization required **200** | OK | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**404** | NotFound | - | -**503** | ServiceUnavailable | - | +**404** | Not Found | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -302,8 +305,9 @@ No authorization required **200** | OK | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**404** | NotFound | - | -**503** | ServiceUnavailable | - | +**404** | Not Found | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -373,8 +377,9 @@ No authorization required **200** | OK | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**404** | NotFound | - | -**503** | ServiceUnavailable | - | +**404** | Not Found | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -446,8 +451,9 @@ No authorization required **200** | OK | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**404** | NotFound | - | -**503** | ServiceUnavailable | - | +**404** | Not Found | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -526,7 +532,8 @@ No authorization required **400** | Bad Request | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**503** | ServiceUnavailable | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -605,7 +612,8 @@ No authorization required **400** | Bad Request | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**503** | ServiceUnavailable | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -679,9 +687,10 @@ No authorization required **400** | Bad Request | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**404** | NotFound | - | -**409** | StatusConflict | - | -**503** | ServiceUnavailable | - | +**404** | Not Found | - | +**409** | Conflict | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -755,8 +764,9 @@ No authorization required **400** | Bad Request | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**404** | NotFound | - | -**503** | ServiceUnavailable | - | +**404** | Not Found | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -829,10 +839,11 @@ No authorization required **201** | Created | - | **400** | Bad Request | - | **401** | Unauthorized | - | -**404** | NotFound | - | +**404** | Not Found | - | **403** | Forbidden | - | **409** | Conflict | - | -**503** | ServiceUnavailable | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -904,8 +915,9 @@ No authorization required **200** | OK | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**404** | NotFound | - | -**503** | ServiceUnavailable | - | +**404** | Not Found | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) diff --git a/docs/FleetRolloutBatchCompletedDetails.md b/docs/FleetRolloutBatchCompletedDetails.md new file mode 100644 index 0000000..8c90e2e --- /dev/null +++ b/docs/FleetRolloutBatchCompletedDetails.md @@ -0,0 +1,36 @@ +# FleetRolloutBatchCompletedDetails + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**detail_type** | **str** | The type of detail for discriminator purposes. | +**template_version** | **str** | The name of the TemplateVersion that this batch is rolling out to. | +**batch** | **str** | The batch within the fleet rollout. | +**success_percentage** | **int** | The success percentage of the batch. | +**total** | **int** | The total number of devices in the batch. | +**successful** | **int** | The number of successful devices in the batch. | +**failed** | **int** | The number of failed devices in the batch. | +**timed_out** | **int** | The number of timed out devices in the batch. | + +## Example + +```python +from flightctl.models.fleet_rollout_batch_completed_details import FleetRolloutBatchCompletedDetails + +# TODO update the JSON string below +json = "{}" +# create an instance of FleetRolloutBatchCompletedDetails from a JSON string +fleet_rollout_batch_completed_details_instance = FleetRolloutBatchCompletedDetails.from_json(json) +# print the JSON string representation of the object +print(FleetRolloutBatchCompletedDetails.to_json()) + +# convert the object into a dict +fleet_rollout_batch_completed_details_dict = fleet_rollout_batch_completed_details_instance.to_dict() +# create an instance of FleetRolloutBatchCompletedDetails from a dict +fleet_rollout_batch_completed_details_from_dict = FleetRolloutBatchCompletedDetails.from_dict(fleet_rollout_batch_completed_details_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/FleetRolloutBatchDispatchedDetails.md b/docs/FleetRolloutBatchDispatchedDetails.md new file mode 100644 index 0000000..7e39829 --- /dev/null +++ b/docs/FleetRolloutBatchDispatchedDetails.md @@ -0,0 +1,31 @@ +# FleetRolloutBatchDispatchedDetails + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**detail_type** | **str** | The type of detail for discriminator purposes. | +**template_version** | **str** | The name of the TemplateVersion that this batch is rolling out to. | +**batch** | **str** | The batch within the fleet rollout. | + +## Example + +```python +from flightctl.models.fleet_rollout_batch_dispatched_details import FleetRolloutBatchDispatchedDetails + +# TODO update the JSON string below +json = "{}" +# create an instance of FleetRolloutBatchDispatchedDetails from a JSON string +fleet_rollout_batch_dispatched_details_instance = FleetRolloutBatchDispatchedDetails.from_json(json) +# print the JSON string representation of the object +print(FleetRolloutBatchDispatchedDetails.to_json()) + +# convert the object into a dict +fleet_rollout_batch_dispatched_details_dict = fleet_rollout_batch_dispatched_details_instance.to_dict() +# create an instance of FleetRolloutBatchDispatchedDetails from a dict +fleet_rollout_batch_dispatched_details_from_dict = FleetRolloutBatchDispatchedDetails.from_dict(fleet_rollout_batch_dispatched_details_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/FleetRolloutCompletedDetails.md b/docs/FleetRolloutCompletedDetails.md new file mode 100644 index 0000000..dad16a5 --- /dev/null +++ b/docs/FleetRolloutCompletedDetails.md @@ -0,0 +1,30 @@ +# FleetRolloutCompletedDetails + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**detail_type** | **str** | The type of detail for discriminator purposes. | +**template_version** | **str** | The name of the TemplateVersion that this fleet rollout is completed for. | + +## Example + +```python +from flightctl.models.fleet_rollout_completed_details import FleetRolloutCompletedDetails + +# TODO update the JSON string below +json = "{}" +# create an instance of FleetRolloutCompletedDetails from a JSON string +fleet_rollout_completed_details_instance = FleetRolloutCompletedDetails.from_json(json) +# print the JSON string representation of the object +print(FleetRolloutCompletedDetails.to_json()) + +# convert the object into a dict +fleet_rollout_completed_details_dict = fleet_rollout_completed_details_instance.to_dict() +# create an instance of FleetRolloutCompletedDetails from a dict +fleet_rollout_completed_details_from_dict = FleetRolloutCompletedDetails.from_dict(fleet_rollout_completed_details_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/FleetRolloutDeviceSelectedDetails.md b/docs/FleetRolloutDeviceSelectedDetails.md new file mode 100644 index 0000000..931a48e --- /dev/null +++ b/docs/FleetRolloutDeviceSelectedDetails.md @@ -0,0 +1,31 @@ +# FleetRolloutDeviceSelectedDetails + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**detail_type** | **str** | The type of detail for discriminator purposes. | +**fleet_name** | **str** | The name of the fleet that the device is being selected for. | +**template_version** | **str** | The name of the TemplateVersion that the device is being selected to render. | + +## Example + +```python +from flightctl.models.fleet_rollout_device_selected_details import FleetRolloutDeviceSelectedDetails + +# TODO update the JSON string below +json = "{}" +# create an instance of FleetRolloutDeviceSelectedDetails from a JSON string +fleet_rollout_device_selected_details_instance = FleetRolloutDeviceSelectedDetails.from_json(json) +# print the JSON string representation of the object +print(FleetRolloutDeviceSelectedDetails.to_json()) + +# convert the object into a dict +fleet_rollout_device_selected_details_dict = fleet_rollout_device_selected_details_instance.to_dict() +# create an instance of FleetRolloutDeviceSelectedDetails from a dict +fleet_rollout_device_selected_details_from_dict = FleetRolloutDeviceSelectedDetails.from_dict(fleet_rollout_device_selected_details_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/FleetRolloutFailedDetails.md b/docs/FleetRolloutFailedDetails.md new file mode 100644 index 0000000..af3183e --- /dev/null +++ b/docs/FleetRolloutFailedDetails.md @@ -0,0 +1,30 @@ +# FleetRolloutFailedDetails + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**detail_type** | **str** | The type of detail for discriminator purposes. | +**template_version** | **str** | The name of the TemplateVersion that this fleet rollout failed for. | + +## Example + +```python +from flightctl.models.fleet_rollout_failed_details import FleetRolloutFailedDetails + +# TODO update the JSON string below +json = "{}" +# create an instance of FleetRolloutFailedDetails from a JSON string +fleet_rollout_failed_details_instance = FleetRolloutFailedDetails.from_json(json) +# print the JSON string representation of the object +print(FleetRolloutFailedDetails.to_json()) + +# convert the object into a dict +fleet_rollout_failed_details_dict = fleet_rollout_failed_details_instance.to_dict() +# create an instance of FleetRolloutFailedDetails from a dict +fleet_rollout_failed_details_from_dict = FleetRolloutFailedDetails.from_dict(fleet_rollout_failed_details_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/FleetRolloutStartedDetails.md b/docs/FleetRolloutStartedDetails.md new file mode 100644 index 0000000..0d64e23 --- /dev/null +++ b/docs/FleetRolloutStartedDetails.md @@ -0,0 +1,31 @@ +# FleetRolloutStartedDetails + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**detail_type** | **str** | The type of detail for discriminator purposes. | +**template_version** | **str** | The name of the TemplateVersion that is rolling out. | +**rollout_strategy** | **str** | Rollout strategy type. | + +## Example + +```python +from flightctl.models.fleet_rollout_started_details import FleetRolloutStartedDetails + +# TODO update the JSON string below +json = "{}" +# create an instance of FleetRolloutStartedDetails from a JSON string +fleet_rollout_started_details_instance = FleetRolloutStartedDetails.from_json(json) +# print the JSON string representation of the object +print(FleetRolloutStartedDetails.to_json()) + +# convert the object into a dict +fleet_rollout_started_details_dict = fleet_rollout_started_details_instance.to_dict() +# create an instance of FleetRolloutStartedDetails from a dict +fleet_rollout_started_details_from_dict = FleetRolloutStartedDetails.from_dict(fleet_rollout_started_details_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GitConfigProviderSpecGitRef.md b/docs/GitConfigProviderSpecGitRef.md index 8227abf..f8b25f5 100644 --- a/docs/GitConfigProviderSpecGitRef.md +++ b/docs/GitConfigProviderSpecGitRef.md @@ -9,7 +9,6 @@ Name | Type | Description | Notes **repository** | **str** | The name of the Repository resource. | **target_revision** | **str** | The revision to use from the Repository. | **path** | **str** | The path to the config in the Repository. | -**mount_path** | **str** | Path in the device's file system at which the repository's path should be mounted. | [optional] [default to '/'] ## Example diff --git a/docs/ImageVolumeSource.md b/docs/ImageVolumeSource.md index af32abf..3e0bbd5 100644 --- a/docs/ImageVolumeSource.md +++ b/docs/ImageVolumeSource.md @@ -7,6 +7,7 @@ Describes the source of an OCI-compliant image or artifact. Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **reference** | **str** | Reference to an OCI-compliant image or artifact in a registry. This may be a container image or another type of OCI artifact, as long as it conforms to the OCI image specification. | +**pull_policy** | [**ImagePullPolicy**](ImagePullPolicy.md) | | [optional] [default to ImagePullPolicy.IFNOTPRESENT] ## Example diff --git a/docs/InternalTaskFailedDetails.md b/docs/InternalTaskFailedDetails.md new file mode 100644 index 0000000..e0e0ab5 --- /dev/null +++ b/docs/InternalTaskFailedDetails.md @@ -0,0 +1,33 @@ +# InternalTaskFailedDetails + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**detail_type** | **str** | The type of detail for discriminator purposes. | +**task_type** | **str** | The type of internal task that failed. | +**error_message** | **str** | The error message describing the failure. | +**retry_count** | **int** | Number of times the task has been retried. | [optional] +**task_parameters** | **Dict[str, str]** | Parameters needed to retry the task. | [optional] + +## Example + +```python +from flightctl.models.internal_task_failed_details import InternalTaskFailedDetails + +# TODO update the JSON string below +json = "{}" +# create an instance of InternalTaskFailedDetails from a JSON string +internal_task_failed_details_instance = InternalTaskFailedDetails.from_json(json) +# print the JSON string representation of the object +print(InternalTaskFailedDetails.to_json()) + +# convert the object into a dict +internal_task_failed_details_dict = internal_task_failed_details_instance.to_dict() +# create an instance of InternalTaskFailedDetails from a dict +internal_task_failed_details_from_dict = InternalTaskFailedDetails.from_dict(internal_task_failed_details_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/LabelApi.md b/docs/LabelApi.md index 41c7315..4723b8f 100644 --- a/docs/LabelApi.md +++ b/docs/LabelApi.md @@ -78,8 +78,9 @@ No authorization required **200** | OK | - | **400** | Bad Request | - | **401** | Unauthorized | - | -**403** | Not allowed | - | -**503** | ServiceUnavailable | - | +**403** | Forbidden | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) diff --git a/docs/Organization.md b/docs/Organization.md new file mode 100644 index 0000000..e8a19c1 --- /dev/null +++ b/docs/Organization.md @@ -0,0 +1,32 @@ +# Organization + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**api_version** | **str** | APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources. | +**kind** | **str** | Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds. | +**metadata** | [**ObjectMeta**](ObjectMeta.md) | | +**spec** | [**OrganizationSpec**](OrganizationSpec.md) | | [optional] + +## Example + +```python +from flightctl.models.organization import Organization + +# TODO update the JSON string below +json = "{}" +# create an instance of Organization from a JSON string +organization_instance = Organization.from_json(json) +# print the JSON string representation of the object +print(Organization.to_json()) + +# convert the object into a dict +organization_dict = organization_instance.to_dict() +# create an instance of Organization from a dict +organization_from_dict = Organization.from_dict(organization_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/OrganizationApi.md b/docs/OrganizationApi.md new file mode 100644 index 0000000..2eec7b0 --- /dev/null +++ b/docs/OrganizationApi.md @@ -0,0 +1,78 @@ +# flightctl.OrganizationApi + +All URIs are relative to *http://localhost* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**list_organizations**](OrganizationApi.md#list_organizations) | **GET** /api/v1/organizations | List organizations + + +# **list_organizations** +> OrganizationList list_organizations() + +List organizations + +Retrieves a list of organizations. Only returns organizations that the user has access to. + +### Example + + +```python +import flightctl +from flightctl.models.organization_list import OrganizationList +from flightctl.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = flightctl.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with flightctl.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = flightctl.OrganizationApi(api_client) + + try: + # List organizations + api_response = api_instance.list_organizations() + print("The response of OrganizationApi->list_organizations:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling OrganizationApi->list_organizations: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**OrganizationList**](OrganizationList.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/OrganizationList.md b/docs/OrganizationList.md new file mode 100644 index 0000000..8876c32 --- /dev/null +++ b/docs/OrganizationList.md @@ -0,0 +1,33 @@ +# OrganizationList + +OrganizationList is a list of Organizations. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**api_version** | **str** | APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources. | +**kind** | **str** | Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds. | +**metadata** | [**ListMeta**](ListMeta.md) | | +**items** | [**List[Organization]**](Organization.md) | List of Organizations. | + +## Example + +```python +from flightctl.models.organization_list import OrganizationList + +# TODO update the JSON string below +json = "{}" +# create an instance of OrganizationList from a JSON string +organization_list_instance = OrganizationList.from_json(json) +# print the JSON string representation of the object +print(OrganizationList.to_json()) + +# convert the object into a dict +organization_list_dict = organization_list_instance.to_dict() +# create an instance of OrganizationList from a dict +organization_list_from_dict = OrganizationList.from_dict(organization_list_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/OrganizationSpec.md b/docs/OrganizationSpec.md new file mode 100644 index 0000000..0e83a60 --- /dev/null +++ b/docs/OrganizationSpec.md @@ -0,0 +1,31 @@ +# OrganizationSpec + +OrganizationSpec describes an organization. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**display_name** | **str** | Human readable name shown to users. | [optional] +**external_id** | **str** | External ID of the organization. | [optional] + +## Example + +```python +from flightctl.models.organization_spec import OrganizationSpec + +# TODO update the JSON string below +json = "{}" +# create an instance of OrganizationSpec from a JSON string +organization_spec_instance = OrganizationSpec.from_json(json) +# print the JSON string representation of the object +print(OrganizationSpec.to_json()) + +# convert the object into a dict +organization_spec_dict = organization_spec_instance.to_dict() +# create an instance of OrganizationSpec from a dict +organization_spec_from_dict = OrganizationSpec.from_dict(organization_spec_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ReferencedRepositoryUpdatedDetails.md b/docs/ReferencedRepositoryUpdatedDetails.md new file mode 100644 index 0000000..457fa05 --- /dev/null +++ b/docs/ReferencedRepositoryUpdatedDetails.md @@ -0,0 +1,30 @@ +# ReferencedRepositoryUpdatedDetails + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**detail_type** | **str** | The type of detail for discriminator purposes. | +**repository** | **str** | The name of the repository that was updated. | + +## Example + +```python +from flightctl.models.referenced_repository_updated_details import ReferencedRepositoryUpdatedDetails + +# TODO update the JSON string below +json = "{}" +# create an instance of ReferencedRepositoryUpdatedDetails from a JSON string +referenced_repository_updated_details_instance = ReferencedRepositoryUpdatedDetails.from_json(json) +# print the JSON string representation of the object +print(ReferencedRepositoryUpdatedDetails.to_json()) + +# convert the object into a dict +referenced_repository_updated_details_dict = referenced_repository_updated_details_instance.to_dict() +# create an instance of ReferencedRepositoryUpdatedDetails from a dict +referenced_repository_updated_details_from_dict = ReferencedRepositoryUpdatedDetails.from_dict(referenced_repository_updated_details_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RepositoryApi.md b/docs/RepositoryApi.md index 3aade35..ef35b6b 100644 --- a/docs/RepositoryApi.md +++ b/docs/RepositoryApi.md @@ -79,8 +79,9 @@ No authorization required **400** | Bad Request | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**409** | StatusConflict | - | -**503** | ServiceUnavailable | - | +**409** | Conflict | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -150,8 +151,9 @@ No authorization required **200** | OK | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**404** | NotFound | - | -**503** | ServiceUnavailable | - | +**404** | Not Found | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -221,8 +223,9 @@ No authorization required **200** | OK | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**404** | NotFound | - | -**503** | ServiceUnavailable | - | +**404** | Not Found | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -299,7 +302,8 @@ No authorization required **400** | Bad Request | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**503** | ServiceUnavailable | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -373,9 +377,10 @@ No authorization required **400** | Bad Request | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**404** | NotFound | - | +**404** | Not Found | - | **409** | Conflict | - | -**503** | ServiceUnavailable | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -449,9 +454,10 @@ No authorization required **400** | Bad Request | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**404** | NotFound | - | +**404** | Not Found | - | **409** | Conflict | - | -**503** | ServiceUnavailable | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) diff --git a/docs/ResourceSyncCompletedDetails.md b/docs/ResourceSyncCompletedDetails.md new file mode 100644 index 0000000..c8967ad --- /dev/null +++ b/docs/ResourceSyncCompletedDetails.md @@ -0,0 +1,32 @@ +# ResourceSyncCompletedDetails + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**detail_type** | **str** | The type of detail for discriminator purposes. | +**commit_hash** | **str** | Hash of the last commit. | +**change_count** | **int** | Number of changes introduced by this ResourceSync update. | +**error_count** | **int** | Number of errors encountered by this ResourceSync update. | + +## Example + +```python +from flightctl.models.resource_sync_completed_details import ResourceSyncCompletedDetails + +# TODO update the JSON string below +json = "{}" +# create an instance of ResourceSyncCompletedDetails from a JSON string +resource_sync_completed_details_instance = ResourceSyncCompletedDetails.from_json(json) +# print the JSON string representation of the object +print(ResourceSyncCompletedDetails.to_json()) + +# convert the object into a dict +resource_sync_completed_details_dict = resource_sync_completed_details_instance.to_dict() +# create an instance of ResourceSyncCompletedDetails from a dict +resource_sync_completed_details_from_dict = ResourceSyncCompletedDetails.from_dict(resource_sync_completed_details_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ResourceUpdatedDetails.md b/docs/ResourceUpdatedDetails.md index 2e5a2ac..26a5164 100644 --- a/docs/ResourceUpdatedDetails.md +++ b/docs/ResourceUpdatedDetails.md @@ -5,6 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**detail_type** | **str** | The type of detail for discriminator purposes. | **updated_fields** | **List[str]** | List of fields that were updated in the resource. | **previous_owner** | **str** | The previous owner (if applicable). | [optional] **new_owner** | **str** | The new owner (if applicable). | [optional] diff --git a/docs/ResourcesyncApi.md b/docs/ResourcesyncApi.md index b65437d..53442ef 100644 --- a/docs/ResourcesyncApi.md +++ b/docs/ResourcesyncApi.md @@ -79,8 +79,9 @@ No authorization required **400** | Bad Request | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**409** | StatusConflict | - | -**503** | ServiceUnavailable | - | +**409** | Conflict | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -150,8 +151,9 @@ No authorization required **200** | OK | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**404** | NotFound | - | -**503** | ServiceUnavailable | - | +**404** | Not Found | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -221,8 +223,9 @@ No authorization required **200** | OK | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**404** | NotFound | - | -**503** | ServiceUnavailable | - | +**404** | Not Found | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -299,7 +302,8 @@ No authorization required **400** | Bad Request | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**503** | ServiceUnavailable | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -373,9 +377,10 @@ No authorization required **400** | Bad Request | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**404** | NotFound | - | +**404** | Not Found | - | **409** | Conflict | - | -**503** | ServiceUnavailable | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -449,9 +454,10 @@ No authorization required **400** | Bad Request | - | **401** | Unauthorized | - | **403** | Forbidden | - | -**404** | NotFound | - | +**404** | Not Found | - | **409** | Conflict | - | -**503** | ServiceUnavailable | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) diff --git a/docs/VersionApi.md b/docs/VersionApi.md index 47fe4bc..8e06250 100644 --- a/docs/VersionApi.md +++ b/docs/VersionApi.md @@ -68,7 +68,8 @@ No authorization required |-------------|-------------|------------------| **200** | OK | - | **403** | Forbidden | - | -**503** | ServiceUnavailable | - | +**429** | Too Many Requests | - | +**503** | Service Unavailable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) diff --git a/flightctl/__init__.py b/flightctl/__init__.py index bc35ddc..f1e98cc 100644 --- a/flightctl/__init__.py +++ b/flightctl/__init__.py @@ -25,6 +25,7 @@ from flightctl.api.event_api import EventApi from flightctl.api.fleet_api import FleetApi from flightctl.api.label_api import LabelApi +from flightctl.api.organization_api import OrganizationApi from flightctl.api.repository_api import RepositoryApi from flightctl.api.resourcesync_api import ResourcesyncApi from flightctl.api.version_api import VersionApi @@ -71,14 +72,19 @@ from flightctl.models.device_console import DeviceConsole from flightctl.models.device_decommission import DeviceDecommission from flightctl.models.device_decommission_target_type import DeviceDecommissionTargetType +from flightctl.models.device_integrity_check_status import DeviceIntegrityCheckStatus +from flightctl.models.device_integrity_check_status_type import DeviceIntegrityCheckStatusType from flightctl.models.device_integrity_status import DeviceIntegrityStatus from flightctl.models.device_integrity_status_summary_type import DeviceIntegrityStatusSummaryType from flightctl.models.device_lifecycle_hook_type import DeviceLifecycleHookType from flightctl.models.device_lifecycle_status import DeviceLifecycleStatus from flightctl.models.device_lifecycle_status_type import DeviceLifecycleStatusType from flightctl.models.device_list import DeviceList +from flightctl.models.device_multiple_owners_detected_details import DeviceMultipleOwnersDetectedDetails +from flightctl.models.device_multiple_owners_resolved_details import DeviceMultipleOwnersResolvedDetails from flightctl.models.device_os_spec import DeviceOsSpec from flightctl.models.device_os_status import DeviceOsStatus +from flightctl.models.device_ownership_changed_details import DeviceOwnershipChangedDetails from flightctl.models.device_resource_status import DeviceResourceStatus from flightctl.models.device_resource_status_type import DeviceResourceStatusType from flightctl.models.device_spec import DeviceSpec @@ -114,6 +120,12 @@ from flightctl.models.file_spec import FileSpec from flightctl.models.fleet import Fleet from flightctl.models.fleet_list import FleetList +from flightctl.models.fleet_rollout_batch_completed_details import FleetRolloutBatchCompletedDetails +from flightctl.models.fleet_rollout_batch_dispatched_details import FleetRolloutBatchDispatchedDetails +from flightctl.models.fleet_rollout_completed_details import FleetRolloutCompletedDetails +from flightctl.models.fleet_rollout_device_selected_details import FleetRolloutDeviceSelectedDetails +from flightctl.models.fleet_rollout_failed_details import FleetRolloutFailedDetails +from flightctl.models.fleet_rollout_started_details import FleetRolloutStartedDetails from flightctl.models.fleet_rollout_status import FleetRolloutStatus from flightctl.models.fleet_spec import FleetSpec from flightctl.models.fleet_spec_template import FleetSpecTemplate @@ -135,6 +147,7 @@ from flightctl.models.image_volume_source import ImageVolumeSource from flightctl.models.inline_application_provider_spec import InlineApplicationProviderSpec from flightctl.models.inline_config_provider_spec import InlineConfigProviderSpec +from flightctl.models.internal_task_failed_details import InternalTaskFailedDetails from flightctl.models.kubernetes_secret_provider_spec import KubernetesSecretProviderSpec from flightctl.models.kubernetes_secret_provider_spec_secret_ref import KubernetesSecretProviderSpecSecretRef from flightctl.models.label_selector import LabelSelector @@ -143,7 +156,11 @@ from flightctl.models.memory_resource_monitor_spec import MemoryResourceMonitorSpec from flightctl.models.object_meta import ObjectMeta from flightctl.models.object_reference import ObjectReference +from flightctl.models.organization import Organization +from flightctl.models.organization_list import OrganizationList +from flightctl.models.organization_spec import OrganizationSpec from flightctl.models.patch_request_inner import PatchRequestInner +from flightctl.models.referenced_repository_updated_details import ReferencedRepositoryUpdatedDetails from flightctl.models.relative_path import RelativePath from flightctl.models.repo_spec_type import RepoSpecType from flightctl.models.repository import Repository @@ -156,6 +173,7 @@ from flightctl.models.resource_monitor import ResourceMonitor from flightctl.models.resource_monitor_spec import ResourceMonitorSpec from flightctl.models.resource_sync import ResourceSync +from flightctl.models.resource_sync_completed_details import ResourceSyncCompletedDetails from flightctl.models.resource_sync_list import ResourceSyncList from flightctl.models.resource_sync_spec import ResourceSyncSpec from flightctl.models.resource_sync_status import ResourceSyncStatus diff --git a/flightctl/api/__init__.py b/flightctl/api/__init__.py index 26d1154..c649bbb 100644 --- a/flightctl/api/__init__.py +++ b/flightctl/api/__init__.py @@ -8,6 +8,7 @@ from flightctl.api.event_api import EventApi from flightctl.api.fleet_api import FleetApi from flightctl.api.label_api import LabelApi +from flightctl.api.organization_api import OrganizationApi from flightctl.api.repository_api import RepositoryApi from flightctl.api.resourcesync_api import ResourcesyncApi from flightctl.api.version_api import VersionApi diff --git a/flightctl/api/certificatesigningrequest_api.py b/flightctl/api/certificatesigningrequest_api.py index b074292..9325b4f 100644 --- a/flightctl/api/certificatesigningrequest_api.py +++ b/flightctl/api/certificatesigningrequest_api.py @@ -102,6 +102,7 @@ def create_certificate_signing_request( '401': "Status", '403': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -174,6 +175,7 @@ def create_certificate_signing_request_with_http_info( '401': "Status", '403': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -246,6 +248,7 @@ def create_certificate_signing_request_without_preload_content( '401': "Status", '403': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -389,6 +392,7 @@ def delete_certificate_signing_request( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -460,6 +464,7 @@ def delete_certificate_signing_request_with_http_info( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -531,6 +536,7 @@ def delete_certificate_signing_request_without_preload_content( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -661,6 +667,7 @@ def get_certificate_signing_request( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -732,6 +739,7 @@ def get_certificate_signing_request_with_http_info( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -803,6 +811,7 @@ def get_certificate_signing_request_without_preload_content( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -945,6 +954,7 @@ def list_certificate_signing_requests( '400': "Status", '401': "Status", '403': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1028,6 +1038,7 @@ def list_certificate_signing_requests_with_http_info( '400': "Status", '401': "Status", '403': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1111,6 +1122,7 @@ def list_certificate_signing_requests_without_preload_content( '400': "Status", '401': "Status", '403': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1264,6 +1276,7 @@ def patch_certificate_signing_request( '404': "Status", '403': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1341,6 +1354,7 @@ def patch_certificate_signing_request_with_http_info( '404': "Status", '403': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1418,6 +1432,7 @@ def patch_certificate_signing_request_without_preload_content( '404': "Status", '403': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1572,6 +1587,7 @@ def replace_certificate_signing_request( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1650,6 +1666,7 @@ def replace_certificate_signing_request_with_http_info( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1728,6 +1745,7 @@ def replace_certificate_signing_request_without_preload_content( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1880,6 +1898,7 @@ def update_certificate_signing_request_approval( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1957,6 +1976,7 @@ def update_certificate_signing_request_approval_with_http_info( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -2034,6 +2054,7 @@ def update_certificate_signing_request_approval_without_preload_content( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( diff --git a/flightctl/api/device_api.py b/flightctl/api/device_api.py index be718d3..93fb6c7 100644 --- a/flightctl/api/device_api.py +++ b/flightctl/api/device_api.py @@ -103,6 +103,7 @@ def create_device( '401': "Status", '403': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -175,6 +176,7 @@ def create_device_with_http_info( '401': "Status", '403': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -247,6 +249,7 @@ def create_device_without_preload_content( '401': "Status", '403': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -395,6 +398,7 @@ def decommission_device( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -471,6 +475,7 @@ def decommission_device_with_http_info( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -547,6 +552,7 @@ def decommission_device_without_preload_content( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -693,6 +699,7 @@ def delete_device( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -764,6 +771,7 @@ def delete_device_with_http_info( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -835,6 +843,7 @@ def delete_device_without_preload_content( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -965,6 +974,7 @@ def get_device( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1036,6 +1046,7 @@ def get_device_with_http_info( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1107,6 +1118,7 @@ def get_device_without_preload_content( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1237,6 +1249,7 @@ def get_device_status( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1308,6 +1321,7 @@ def get_device_status_with_http_info( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1379,6 +1393,7 @@ def get_device_status_without_preload_content( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1515,6 +1530,7 @@ def get_rendered_device( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1592,6 +1608,7 @@ def get_rendered_device_with_http_info( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1669,6 +1686,7 @@ def get_rendered_device_without_preload_content( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1820,6 +1838,7 @@ def list_devices( '400': "Status", '401': "Status", '403': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1907,6 +1926,7 @@ def list_devices_with_http_info( '400': "Status", '401': "Status", '403': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1994,6 +2014,7 @@ def list_devices_without_preload_content( '400': "Status", '401': "Status", '403': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -2152,6 +2173,7 @@ def patch_device( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -2229,6 +2251,7 @@ def patch_device_with_http_info( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -2306,6 +2329,7 @@ def patch_device_without_preload_content( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -2458,6 +2482,7 @@ def patch_device_status( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -2534,6 +2559,7 @@ def patch_device_status_with_http_info( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -2610,6 +2636,7 @@ def patch_device_status_without_preload_content( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -2764,6 +2791,7 @@ def replace_device( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -2842,6 +2870,7 @@ def replace_device_with_http_info( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -2920,6 +2949,7 @@ def replace_device_without_preload_content( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -3071,6 +3101,8 @@ def replace_device_status( '401': "Status", '403': "Status", '404': "Status", + '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -3147,6 +3179,8 @@ def replace_device_status_with_http_info( '401': "Status", '403': "Status", '404': "Status", + '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -3223,6 +3257,8 @@ def replace_device_status_without_preload_content( '401': "Status", '403': "Status", '404': "Status", + '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( diff --git a/flightctl/api/enrollmentrequest_api.py b/flightctl/api/enrollmentrequest_api.py index a2ce1c5..2e013f9 100644 --- a/flightctl/api/enrollmentrequest_api.py +++ b/flightctl/api/enrollmentrequest_api.py @@ -109,6 +109,7 @@ def approve_enrollment_request( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -185,6 +186,7 @@ def approve_enrollment_request_with_http_info( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -261,6 +263,7 @@ def approve_enrollment_request_without_preload_content( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -408,6 +411,7 @@ def create_enrollment_request( '401': "Status", '403': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -480,6 +484,7 @@ def create_enrollment_request_with_http_info( '401': "Status", '403': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -552,6 +557,7 @@ def create_enrollment_request_without_preload_content( '401': "Status", '403': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -695,6 +701,8 @@ def delete_enrollment_request( '401': "Status", '403': "Status", '404': "Status", + '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -766,6 +774,8 @@ def delete_enrollment_request_with_http_info( '401': "Status", '403': "Status", '404': "Status", + '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -837,6 +847,8 @@ def delete_enrollment_request_without_preload_content( '401': "Status", '403': "Status", '404': "Status", + '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -968,6 +980,7 @@ def get_enrollment_config( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1040,6 +1053,7 @@ def get_enrollment_config_with_http_info( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1112,6 +1126,7 @@ def get_enrollment_config_without_preload_content( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1244,6 +1259,7 @@ def get_enrollment_request( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1315,6 +1331,7 @@ def get_enrollment_request_with_http_info( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1386,6 +1403,7 @@ def get_enrollment_request_without_preload_content( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1516,6 +1534,7 @@ def get_enrollment_request_status( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1587,6 +1606,7 @@ def get_enrollment_request_status_with_http_info( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1658,6 +1678,7 @@ def get_enrollment_request_status_without_preload_content( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1800,6 +1821,7 @@ def list_enrollment_requests( '400': "Status", '401': "Status", '403': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1883,6 +1905,7 @@ def list_enrollment_requests_with_http_info( '400': "Status", '401': "Status", '403': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1966,6 +1989,7 @@ def list_enrollment_requests_without_preload_content( '400': "Status", '401': "Status", '403': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -2119,6 +2143,7 @@ def patch_enrollment_request( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -2196,6 +2221,7 @@ def patch_enrollment_request_with_http_info( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -2273,6 +2299,7 @@ def patch_enrollment_request_without_preload_content( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -2426,6 +2453,7 @@ def patch_enrollment_request_status( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -2503,6 +2531,7 @@ def patch_enrollment_request_status_with_http_info( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -2580,6 +2609,7 @@ def patch_enrollment_request_status_without_preload_content( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -2734,6 +2764,7 @@ def replace_enrollment_request( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -2812,6 +2843,7 @@ def replace_enrollment_request_with_http_info( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -2890,6 +2922,7 @@ def replace_enrollment_request_without_preload_content( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -3040,6 +3073,7 @@ def replace_enrollment_request_status( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -3115,6 +3149,7 @@ def replace_enrollment_request_status_with_http_info( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -3190,6 +3225,7 @@ def replace_enrollment_request_status_without_preload_content( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( diff --git a/flightctl/api/event_api.py b/flightctl/api/event_api.py index f78b481..2355ccc 100644 --- a/flightctl/api/event_api.py +++ b/flightctl/api/event_api.py @@ -110,6 +110,7 @@ def list_events( '400': "Status", '401': "Status", '403': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -193,6 +194,7 @@ def list_events_with_http_info( '400': "Status", '401': "Status", '403': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -276,6 +278,7 @@ def list_events_without_preload_content( '400': "Status", '401': "Status", '403': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( diff --git a/flightctl/api/fleet_api.py b/flightctl/api/fleet_api.py index d13a1a6..2e0af9f 100644 --- a/flightctl/api/fleet_api.py +++ b/flightctl/api/fleet_api.py @@ -104,6 +104,7 @@ def create_fleet( '401': "Status", '403': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -176,6 +177,7 @@ def create_fleet_with_http_info( '401': "Status", '403': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -248,6 +250,7 @@ def create_fleet_without_preload_content( '401': "Status", '403': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -391,6 +394,7 @@ def delete_fleet( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -462,6 +466,7 @@ def delete_fleet_with_http_info( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -533,6 +538,7 @@ def delete_fleet_without_preload_content( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -667,6 +673,7 @@ def delete_template_version( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -742,6 +749,7 @@ def delete_template_version_with_http_info( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -817,6 +825,7 @@ def delete_template_version_without_preload_content( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -954,6 +963,7 @@ def get_fleet( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1029,6 +1039,7 @@ def get_fleet_with_http_info( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1104,6 +1115,7 @@ def get_fleet_without_preload_content( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1239,6 +1251,7 @@ def get_fleet_status( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1310,6 +1323,7 @@ def get_fleet_status_with_http_info( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1381,6 +1395,7 @@ def get_fleet_status_without_preload_content( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1515,6 +1530,7 @@ def get_template_version( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1590,6 +1606,7 @@ def get_template_version_with_http_info( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1665,6 +1682,7 @@ def get_template_version_without_preload_content( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1814,6 +1832,7 @@ def list_fleets( '400': "Status", '401': "Status", '403': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1901,6 +1920,7 @@ def list_fleets_with_http_info( '400': "Status", '401': "Status", '403': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1988,6 +2008,7 @@ def list_fleets_without_preload_content( '400': "Status", '401': "Status", '403': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -2156,6 +2177,7 @@ def list_template_versions( '400': "Status", '401': "Status", '403': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -2243,6 +2265,7 @@ def list_template_versions_with_http_info( '400': "Status", '401': "Status", '403': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -2330,6 +2353,7 @@ def list_template_versions_without_preload_content( '400': "Status", '401': "Status", '403': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -2486,6 +2510,7 @@ def patch_fleet( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -2563,6 +2588,7 @@ def patch_fleet_with_http_info( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -2640,6 +2666,7 @@ def patch_fleet_without_preload_content( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -2792,6 +2819,7 @@ def patch_fleet_status( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -2868,6 +2896,7 @@ def patch_fleet_status_with_http_info( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -2944,6 +2973,7 @@ def patch_fleet_status_without_preload_content( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -3098,6 +3128,7 @@ def replace_fleet( '404': "Status", '403': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -3176,6 +3207,7 @@ def replace_fleet_with_http_info( '404': "Status", '403': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -3254,6 +3286,7 @@ def replace_fleet_without_preload_content( '404': "Status", '403': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -3404,6 +3437,7 @@ def replace_fleet_status( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -3479,6 +3513,7 @@ def replace_fleet_status_with_http_info( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -3554,6 +3589,7 @@ def replace_fleet_status_without_preload_content( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( diff --git a/flightctl/api/label_api.py b/flightctl/api/label_api.py index c295444..70552b2 100644 --- a/flightctl/api/label_api.py +++ b/flightctl/api/label_api.py @@ -109,6 +109,7 @@ def list_labels( '400': "Status", '401': "Status", '403': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -192,6 +193,7 @@ def list_labels_with_http_info( '400': "Status", '401': "Status", '403': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -275,6 +277,7 @@ def list_labels_without_preload_content( '400': "Status", '401': "Status", '403': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( diff --git a/flightctl/api/organization_api.py b/flightctl/api/organization_api.py new file mode 100644 index 0000000..decf97d --- /dev/null +++ b/flightctl/api/organization_api.py @@ -0,0 +1,297 @@ +# coding: utf-8 + +""" + Flight Control API + + [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. + + The version of the OpenAPI document: v1alpha1 + Contact: team@flightctl.io + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from flightctl.models.organization_list import OrganizationList + +from flightctl.api_client import ApiClient, RequestSerialized +from flightctl.api_response import ApiResponse +from flightctl.rest import RESTResponseType + + +class OrganizationApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def list_organizations( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> OrganizationList: + """List organizations + + Retrieves a list of organizations. Only returns organizations that the user has access to. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_organizations_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "OrganizationList", + '400': "Status", + '401': "Status", + '403': "Status", + '429': "Status", + '503': "Status", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def list_organizations_with_http_info( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[OrganizationList]: + """List organizations + + Retrieves a list of organizations. Only returns organizations that the user has access to. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_organizations_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "OrganizationList", + '400': "Status", + '401': "Status", + '403': "Status", + '429': "Status", + '503': "Status", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def list_organizations_without_preload_content( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """List organizations + + Retrieves a list of organizations. Only returns organizations that the user has access to. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_organizations_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "OrganizationList", + '400': "Status", + '401': "Status", + '403': "Status", + '429': "Status", + '503': "Status", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_organizations_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/v1/organizations', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/flightctl/api/repository_api.py b/flightctl/api/repository_api.py index da55eda..e929a53 100644 --- a/flightctl/api/repository_api.py +++ b/flightctl/api/repository_api.py @@ -102,6 +102,7 @@ def create_repository( '401': "Status", '403': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -174,6 +175,7 @@ def create_repository_with_http_info( '401': "Status", '403': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -246,6 +248,7 @@ def create_repository_without_preload_content( '401': "Status", '403': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -389,6 +392,7 @@ def delete_repository( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -460,6 +464,7 @@ def delete_repository_with_http_info( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -531,6 +536,7 @@ def delete_repository_without_preload_content( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -661,6 +667,7 @@ def get_repository( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -732,6 +739,7 @@ def get_repository_with_http_info( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -803,6 +811,7 @@ def get_repository_without_preload_content( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -945,6 +954,7 @@ def list_repositories( '400': "Status", '401': "Status", '403': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1028,6 +1038,7 @@ def list_repositories_with_http_info( '400': "Status", '401': "Status", '403': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1111,6 +1122,7 @@ def list_repositories_without_preload_content( '400': "Status", '401': "Status", '403': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1264,6 +1276,7 @@ def patch_repository( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1341,6 +1354,7 @@ def patch_repository_with_http_info( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1418,6 +1432,7 @@ def patch_repository_without_preload_content( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1572,6 +1587,7 @@ def replace_repository( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1650,6 +1666,7 @@ def replace_repository_with_http_info( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1728,6 +1745,7 @@ def replace_repository_without_preload_content( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( diff --git a/flightctl/api/resourcesync_api.py b/flightctl/api/resourcesync_api.py index cb69404..ff1a6b6 100644 --- a/flightctl/api/resourcesync_api.py +++ b/flightctl/api/resourcesync_api.py @@ -102,6 +102,7 @@ def create_resource_sync( '401': "Status", '403': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -174,6 +175,7 @@ def create_resource_sync_with_http_info( '401': "Status", '403': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -246,6 +248,7 @@ def create_resource_sync_without_preload_content( '401': "Status", '403': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -389,6 +392,7 @@ def delete_resource_sync( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -460,6 +464,7 @@ def delete_resource_sync_with_http_info( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -531,6 +536,7 @@ def delete_resource_sync_without_preload_content( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -661,6 +667,7 @@ def get_resource_sync( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -732,6 +739,7 @@ def get_resource_sync_with_http_info( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -803,6 +811,7 @@ def get_resource_sync_without_preload_content( '401': "Status", '403': "Status", '404': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -945,6 +954,7 @@ def list_resource_syncs( '400': "Status", '401': "Status", '403': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1028,6 +1038,7 @@ def list_resource_syncs_with_http_info( '400': "Status", '401': "Status", '403': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1111,6 +1122,7 @@ def list_resource_syncs_without_preload_content( '400': "Status", '401': "Status", '403': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1264,6 +1276,7 @@ def patch_resource_sync( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1341,6 +1354,7 @@ def patch_resource_sync_with_http_info( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1418,6 +1432,7 @@ def patch_resource_sync_without_preload_content( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1572,6 +1587,7 @@ def replace_resource_sync( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1650,6 +1666,7 @@ def replace_resource_sync_with_http_info( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -1728,6 +1745,7 @@ def replace_resource_sync_without_preload_content( '403': "Status", '404': "Status", '409': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( diff --git a/flightctl/api/version_api.py b/flightctl/api/version_api.py index e231727..b421096 100644 --- a/flightctl/api/version_api.py +++ b/flightctl/api/version_api.py @@ -89,6 +89,7 @@ def get_version( _response_types_map: Dict[str, Optional[str]] = { '200': "Version", '403': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -154,6 +155,7 @@ def get_version_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "Version", '403': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( @@ -219,6 +221,7 @@ def get_version_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "Version", '403': "Status", + '429': "Status", '503': "Status", } response_data = self.api_client.call_api( diff --git a/flightctl/configuration.py b/flightctl/configuration.py index 05fe955..7a37c2a 100644 --- a/flightctl/configuration.py +++ b/flightctl/configuration.py @@ -114,6 +114,8 @@ AuthSettings = TypedDict( "AuthSettings", { + "bearerAuth": BearerFormatAuthSetting, + "orgId": APIKeyAuthSetting, }, total=False, ) @@ -162,6 +164,26 @@ class Configuration: in PEM format. :param retries: Number of retries for API requests. + :Example: + + API Key Authentication Example. + Given the following security scheme in the OpenAPI specification: + components: + securitySchemes: + cookieAuth: # name for the security scheme + type: apiKey + in: cookie + name: JSESSIONID # cookie name + + You can programmatically set the cookie: + +conf = flightctl.Configuration( + api_key={'cookieAuth': 'abc123'} + api_key_prefix={'cookieAuth': 'JSESSIONID'} +) + + The following cookie will be added to the HTTP request: + Cookie: JSESSIONID abc123 """ _default: ClassVar[Optional[Self]] = None @@ -484,6 +506,23 @@ def auth_settings(self)-> AuthSettings: :return: The Auth Settings information dict. """ auth: AuthSettings = {} + if self.access_token is not None: + auth['bearerAuth'] = { + 'type': 'bearer', + 'in': 'header', + 'format': 'JWT', + 'key': 'Authorization', + 'value': 'Bearer ' + self.access_token + } + if 'orgId' in self.api_key: + auth['orgId'] = { + 'type': 'api_key', + 'in': 'query', + 'key': 'org_id', + 'value': self.get_api_key_with_prefix( + 'orgId', + ), + } return auth def to_debug_report(self) -> str: diff --git a/flightctl/models/__init__.py b/flightctl/models/__init__.py index 0db33c3..55bb599 100644 --- a/flightctl/models/__init__.py +++ b/flightctl/models/__init__.py @@ -45,14 +45,19 @@ from flightctl.models.device_console import DeviceConsole from flightctl.models.device_decommission import DeviceDecommission from flightctl.models.device_decommission_target_type import DeviceDecommissionTargetType +from flightctl.models.device_integrity_check_status import DeviceIntegrityCheckStatus +from flightctl.models.device_integrity_check_status_type import DeviceIntegrityCheckStatusType from flightctl.models.device_integrity_status import DeviceIntegrityStatus from flightctl.models.device_integrity_status_summary_type import DeviceIntegrityStatusSummaryType from flightctl.models.device_lifecycle_hook_type import DeviceLifecycleHookType from flightctl.models.device_lifecycle_status import DeviceLifecycleStatus from flightctl.models.device_lifecycle_status_type import DeviceLifecycleStatusType from flightctl.models.device_list import DeviceList +from flightctl.models.device_multiple_owners_detected_details import DeviceMultipleOwnersDetectedDetails +from flightctl.models.device_multiple_owners_resolved_details import DeviceMultipleOwnersResolvedDetails from flightctl.models.device_os_spec import DeviceOsSpec from flightctl.models.device_os_status import DeviceOsStatus +from flightctl.models.device_ownership_changed_details import DeviceOwnershipChangedDetails from flightctl.models.device_resource_status import DeviceResourceStatus from flightctl.models.device_resource_status_type import DeviceResourceStatusType from flightctl.models.device_spec import DeviceSpec @@ -88,6 +93,12 @@ from flightctl.models.file_spec import FileSpec from flightctl.models.fleet import Fleet from flightctl.models.fleet_list import FleetList +from flightctl.models.fleet_rollout_batch_completed_details import FleetRolloutBatchCompletedDetails +from flightctl.models.fleet_rollout_batch_dispatched_details import FleetRolloutBatchDispatchedDetails +from flightctl.models.fleet_rollout_completed_details import FleetRolloutCompletedDetails +from flightctl.models.fleet_rollout_device_selected_details import FleetRolloutDeviceSelectedDetails +from flightctl.models.fleet_rollout_failed_details import FleetRolloutFailedDetails +from flightctl.models.fleet_rollout_started_details import FleetRolloutStartedDetails from flightctl.models.fleet_rollout_status import FleetRolloutStatus from flightctl.models.fleet_spec import FleetSpec from flightctl.models.fleet_spec_template import FleetSpecTemplate @@ -109,6 +120,7 @@ from flightctl.models.image_volume_source import ImageVolumeSource from flightctl.models.inline_application_provider_spec import InlineApplicationProviderSpec from flightctl.models.inline_config_provider_spec import InlineConfigProviderSpec +from flightctl.models.internal_task_failed_details import InternalTaskFailedDetails from flightctl.models.kubernetes_secret_provider_spec import KubernetesSecretProviderSpec from flightctl.models.kubernetes_secret_provider_spec_secret_ref import KubernetesSecretProviderSpecSecretRef from flightctl.models.label_selector import LabelSelector @@ -117,7 +129,11 @@ from flightctl.models.memory_resource_monitor_spec import MemoryResourceMonitorSpec from flightctl.models.object_meta import ObjectMeta from flightctl.models.object_reference import ObjectReference +from flightctl.models.organization import Organization +from flightctl.models.organization_list import OrganizationList +from flightctl.models.organization_spec import OrganizationSpec from flightctl.models.patch_request_inner import PatchRequestInner +from flightctl.models.referenced_repository_updated_details import ReferencedRepositoryUpdatedDetails from flightctl.models.relative_path import RelativePath from flightctl.models.repo_spec_type import RepoSpecType from flightctl.models.repository import Repository @@ -130,6 +146,7 @@ from flightctl.models.resource_monitor import ResourceMonitor from flightctl.models.resource_monitor_spec import ResourceMonitorSpec from flightctl.models.resource_sync import ResourceSync +from flightctl.models.resource_sync_completed_details import ResourceSyncCompletedDetails from flightctl.models.resource_sync_list import ResourceSyncList from flightctl.models.resource_sync_spec import ResourceSyncSpec from flightctl.models.resource_sync_status import ResourceSyncStatus diff --git a/flightctl/models/condition_type.py b/flightctl/models/condition_type.py index e4ef97e..4476fbd 100644 --- a/flightctl/models/condition_type.py +++ b/flightctl/models/condition_type.py @@ -33,7 +33,6 @@ class ConditionType(str, Enum): ACCESSIBLE = 'Accessible' RESOURCEPARSED = 'ResourceParsed' SYNCED = 'Synced' - OVERLAPPINGSELECTORS = 'OverlappingSelectors' VALID = 'Valid' ROLLOUTINPROGRESS = 'RolloutInProgress' UPDATING = 'Updating' diff --git a/flightctl/models/device_integrity_check_status.py b/flightctl/models/device_integrity_check_status.py new file mode 100644 index 0000000..350a814 --- /dev/null +++ b/flightctl/models/device_integrity_check_status.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Flight Control API + + [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. + + The version of the OpenAPI document: v1alpha1 + Contact: team@flightctl.io + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from flightctl.models.device_integrity_check_status_type import DeviceIntegrityCheckStatusType +from typing import Optional, Set +from typing_extensions import Self + +class DeviceIntegrityCheckStatus(BaseModel): + """ + DeviceIntegrityCheckStatus represents the status of the integrity check performed on the device. + """ # noqa: E501 + status: DeviceIntegrityCheckStatusType + info: Optional[StrictStr] = Field(default=None, description="Human-readable information about the integrity check status.") + __properties: ClassVar[List[str]] = ["status", "info"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeviceIntegrityCheckStatus from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeviceIntegrityCheckStatus from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "status": obj.get("status"), + "info": obj.get("info") + }) + return _obj + + diff --git a/flightctl/models/device_integrity_check_status_type.py b/flightctl/models/device_integrity_check_status_type.py new file mode 100644 index 0000000..ce19005 --- /dev/null +++ b/flightctl/models/device_integrity_check_status_type.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + Flight Control API + + [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. + + The version of the OpenAPI document: v1alpha1 + Contact: team@flightctl.io + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class DeviceIntegrityCheckStatusType(str, Enum): + """ + Status of the integrity check performed on the device. + """ + + """ + allowed enum values + """ + UNKNOWN = 'Unknown' + UNSUPPORTED = 'Unsupported' + FAILED = 'Failed' + VERIFIED = 'Verified' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of DeviceIntegrityCheckStatusType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/flightctl/models/device_integrity_status.py b/flightctl/models/device_integrity_status.py index 9f18354..6dbfa57 100644 --- a/flightctl/models/device_integrity_status.py +++ b/flightctl/models/device_integrity_status.py @@ -18,8 +18,10 @@ import re # noqa: F401 import json +from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr from typing import Any, ClassVar, Dict, List, Optional +from flightctl.models.device_integrity_check_status import DeviceIntegrityCheckStatus from flightctl.models.device_integrity_status_summary_type import DeviceIntegrityStatusSummaryType from typing import Optional, Set from typing_extensions import Self @@ -28,9 +30,12 @@ class DeviceIntegrityStatus(BaseModel): """ Summary status of the integrity of the device. """ # noqa: E501 + device_identity: Optional[DeviceIntegrityCheckStatus] = Field(default=None, alias="deviceIdentity") + tpm: Optional[DeviceIntegrityCheckStatus] = None status: DeviceIntegrityStatusSummaryType info: Optional[StrictStr] = Field(default=None, description="Human readable information about the last integrity transition.") - __properties: ClassVar[List[str]] = ["status", "info"] + last_verified: Optional[datetime] = Field(default=None, description="Timestamp of the last integrity verification.", alias="lastVerified") + __properties: ClassVar[List[str]] = ["deviceIdentity", "tpm", "status", "info", "lastVerified"] model_config = ConfigDict( populate_by_name=True, @@ -71,6 +76,12 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # override the default output from pydantic by calling `to_dict()` of device_identity + if self.device_identity: + _dict['deviceIdentity'] = self.device_identity.to_dict() + # override the default output from pydantic by calling `to_dict()` of tpm + if self.tpm: + _dict['tpm'] = self.tpm.to_dict() return _dict @classmethod @@ -83,8 +94,11 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ + "deviceIdentity": DeviceIntegrityCheckStatus.from_dict(obj["deviceIdentity"]) if obj.get("deviceIdentity") is not None else None, + "tpm": DeviceIntegrityCheckStatus.from_dict(obj["tpm"]) if obj.get("tpm") is not None else None, "status": obj.get("status"), - "info": obj.get("info") + "info": obj.get("info"), + "lastVerified": obj.get("lastVerified") }) return _obj diff --git a/flightctl/models/device_integrity_status_summary_type.py b/flightctl/models/device_integrity_status_summary_type.py index 8e529a3..ccd7ac1 100644 --- a/flightctl/models/device_integrity_status_summary_type.py +++ b/flightctl/models/device_integrity_status_summary_type.py @@ -27,7 +27,7 @@ class DeviceIntegrityStatusSummaryType(str, Enum): """ allowed enum values """ - PASSED = 'Passed' + VERIFIED = 'Verified' FAILED = 'Failed' UNKNOWN = 'Unknown' UNSUPPORTED = 'Unsupported' diff --git a/flightctl/models/device_multiple_owners_detected_details.py b/flightctl/models/device_multiple_owners_detected_details.py new file mode 100644 index 0000000..006995c --- /dev/null +++ b/flightctl/models/device_multiple_owners_detected_details.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Flight Control API + + [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. + + The version of the OpenAPI document: v1alpha1 + Contact: team@flightctl.io + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List +from typing import Optional, Set +from typing_extensions import Self + +class DeviceMultipleOwnersDetectedDetails(BaseModel): + """ + DeviceMultipleOwnersDetectedDetails + """ # noqa: E501 + detail_type: StrictStr = Field(description="The type of detail for discriminator purposes.", alias="detailType") + matching_fleets: List[StrictStr] = Field(description="List of fleet names that match the device.", alias="matchingFleets") + __properties: ClassVar[List[str]] = ["detailType", "matchingFleets"] + + @field_validator('detail_type') + def detail_type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['DeviceMultipleOwnersDetected']): + raise ValueError("must be one of enum values ('DeviceMultipleOwnersDetected')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeviceMultipleOwnersDetectedDetails from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeviceMultipleOwnersDetectedDetails from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "detailType": obj.get("detailType"), + "matchingFleets": obj.get("matchingFleets") + }) + return _obj + + diff --git a/flightctl/models/device_multiple_owners_resolved_details.py b/flightctl/models/device_multiple_owners_resolved_details.py new file mode 100644 index 0000000..cbb5aad --- /dev/null +++ b/flightctl/models/device_multiple_owners_resolved_details.py @@ -0,0 +1,113 @@ +# coding: utf-8 + +""" + Flight Control API + + [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. + + The version of the OpenAPI document: v1alpha1 + Contact: team@flightctl.io + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class DeviceMultipleOwnersResolvedDetails(BaseModel): + """ + DeviceMultipleOwnersResolvedDetails + """ # noqa: E501 + detail_type: StrictStr = Field(description="The type of detail for discriminator purposes.", alias="detailType") + resolution_type: StrictStr = Field(description="How the conflict was resolved.", alias="resolutionType") + assigned_owner: Optional[StrictStr] = Field(default=None, description="The fleet assigned as owner (null if no owner).", alias="assignedOwner") + previous_matching_fleets: Optional[List[StrictStr]] = Field(default=None, description="List of fleets that previously matched the device.", alias="previousMatchingFleets") + __properties: ClassVar[List[str]] = ["detailType", "resolutionType", "assignedOwner", "previousMatchingFleets"] + + @field_validator('detail_type') + def detail_type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['DeviceMultipleOwnersResolved']): + raise ValueError("must be one of enum values ('DeviceMultipleOwnersResolved')") + return value + + @field_validator('resolution_type') + def resolution_type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['SingleMatch', 'NoMatch', 'FleetDeleted']): + raise ValueError("must be one of enum values ('SingleMatch', 'NoMatch', 'FleetDeleted')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeviceMultipleOwnersResolvedDetails from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if assigned_owner (nullable) is None + # and model_fields_set contains the field + if self.assigned_owner is None and "assigned_owner" in self.model_fields_set: + _dict['assignedOwner'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeviceMultipleOwnersResolvedDetails from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "detailType": obj.get("detailType"), + "resolutionType": obj.get("resolutionType"), + "assignedOwner": obj.get("assignedOwner"), + "previousMatchingFleets": obj.get("previousMatchingFleets") + }) + return _obj + + diff --git a/flightctl/models/device_ownership_changed_details.py b/flightctl/models/device_ownership_changed_details.py new file mode 100644 index 0000000..5e6b890 --- /dev/null +++ b/flightctl/models/device_ownership_changed_details.py @@ -0,0 +1,109 @@ +# coding: utf-8 + +""" + Flight Control API + + [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. + + The version of the OpenAPI document: v1alpha1 + Contact: team@flightctl.io + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class DeviceOwnershipChangedDetails(BaseModel): + """ + DeviceOwnershipChangedDetails + """ # noqa: E501 + detail_type: StrictStr = Field(description="The type of detail for discriminator purposes.", alias="detailType") + previous_owner: Optional[StrictStr] = Field(default=None, description="The previous owner fleet (null if none).", alias="previousOwner") + new_owner: Optional[StrictStr] = Field(default=None, description="The new owner fleet (null if removed).", alias="newOwner") + __properties: ClassVar[List[str]] = ["detailType", "previousOwner", "newOwner"] + + @field_validator('detail_type') + def detail_type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['DeviceOwnershipChanged']): + raise ValueError("must be one of enum values ('DeviceOwnershipChanged')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeviceOwnershipChangedDetails from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if previous_owner (nullable) is None + # and model_fields_set contains the field + if self.previous_owner is None and "previous_owner" in self.model_fields_set: + _dict['previousOwner'] = None + + # set to None if new_owner (nullable) is None + # and model_fields_set contains the field + if self.new_owner is None and "new_owner" in self.model_fields_set: + _dict['newOwner'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeviceOwnershipChangedDetails from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "detailType": obj.get("detailType"), + "previousOwner": obj.get("previousOwner"), + "newOwner": obj.get("newOwner") + }) + return _obj + + diff --git a/flightctl/models/event.py b/flightctl/models/event.py index c0dfb03..1e5902d 100644 --- a/flightctl/models/event.py +++ b/flightctl/models/event.py @@ -46,8 +46,8 @@ class Event(BaseModel): @field_validator('reason') def reason_validate_enum(cls, value): """Validates the enum""" - if value not in set(['ResourceCreated', 'ResourceCreationFailed', 'ResourceUpdated', 'ResourceUpdateFailed', 'ResourceDeleted', 'ResourceDeletionFailed', 'DeviceDecommissioned', 'DeviceDecommissionFailed', 'DeviceCPUCritical', 'DeviceCPUWarning', 'DeviceCPUNormal', 'DeviceMemoryCritical', 'DeviceMemoryWarning', 'DeviceMemoryNormal', 'DeviceDiskCritical', 'DeviceDiskWarning', 'DeviceDiskNormal', 'DeviceApplicationError', 'DeviceApplicationDegraded', 'DeviceApplicationHealthy', 'DeviceDisconnected', 'DeviceConnected', 'DeviceContentUpToDate', 'DeviceContentOutOfDate', 'DeviceContentUpdating']): - raise ValueError("must be one of enum values ('ResourceCreated', 'ResourceCreationFailed', 'ResourceUpdated', 'ResourceUpdateFailed', 'ResourceDeleted', 'ResourceDeletionFailed', 'DeviceDecommissioned', 'DeviceDecommissionFailed', 'DeviceCPUCritical', 'DeviceCPUWarning', 'DeviceCPUNormal', 'DeviceMemoryCritical', 'DeviceMemoryWarning', 'DeviceMemoryNormal', 'DeviceDiskCritical', 'DeviceDiskWarning', 'DeviceDiskNormal', 'DeviceApplicationError', 'DeviceApplicationDegraded', 'DeviceApplicationHealthy', 'DeviceDisconnected', 'DeviceConnected', 'DeviceContentUpToDate', 'DeviceContentOutOfDate', 'DeviceContentUpdating')") + if value not in set(['ResourceCreated', 'ResourceCreationFailed', 'ResourceUpdated', 'ResourceUpdateFailed', 'ResourceDeleted', 'ResourceDeletionFailed', 'DeviceDecommissioned', 'DeviceDecommissionFailed', 'DeviceCPUCritical', 'DeviceCPUWarning', 'DeviceCPUNormal', 'DeviceMemoryCritical', 'DeviceMemoryWarning', 'DeviceMemoryNormal', 'DeviceDiskCritical', 'DeviceDiskWarning', 'DeviceDiskNormal', 'DeviceApplicationError', 'DeviceApplicationDegraded', 'DeviceApplicationHealthy', 'DeviceDisconnected', 'DeviceIsRebooting', 'DeviceConnected', 'DeviceContentUpToDate', 'DeviceContentOutOfDate', 'DeviceContentUpdating', 'DeviceUpdateFailed', 'EnrollmentRequestApproved', 'EnrollmentRequestApprovalFailed', 'DeviceMultipleOwnersDetected', 'DeviceMultipleOwnersResolved', 'DeviceSpecValid', 'DeviceSpecInvalid', 'InternalTaskFailed', 'RepositoryAccessible', 'RepositoryInaccessible', 'ReferencedRepositoryUpdated', 'FleetValid', 'FleetInvalid', 'FleetRolloutCreated', 'FleetRolloutStarted', 'FleetRolloutFailed', 'FleetRolloutCompleted', 'FleetRolloutBatchDispatched', 'FleetRolloutDeviceSelected', 'FleetRolloutBatchCompleted', 'ResourceSyncCommitDetected', 'ResourceSyncAccessible', 'ResourceSyncInaccessible', 'ResourceSyncParsed', 'ResourceSyncParsingFailed', 'ResourceSyncSynced', 'ResourceSyncSyncFailed']): + raise ValueError("must be one of enum values ('ResourceCreated', 'ResourceCreationFailed', 'ResourceUpdated', 'ResourceUpdateFailed', 'ResourceDeleted', 'ResourceDeletionFailed', 'DeviceDecommissioned', 'DeviceDecommissionFailed', 'DeviceCPUCritical', 'DeviceCPUWarning', 'DeviceCPUNormal', 'DeviceMemoryCritical', 'DeviceMemoryWarning', 'DeviceMemoryNormal', 'DeviceDiskCritical', 'DeviceDiskWarning', 'DeviceDiskNormal', 'DeviceApplicationError', 'DeviceApplicationDegraded', 'DeviceApplicationHealthy', 'DeviceDisconnected', 'DeviceIsRebooting', 'DeviceConnected', 'DeviceContentUpToDate', 'DeviceContentOutOfDate', 'DeviceContentUpdating', 'DeviceUpdateFailed', 'EnrollmentRequestApproved', 'EnrollmentRequestApprovalFailed', 'DeviceMultipleOwnersDetected', 'DeviceMultipleOwnersResolved', 'DeviceSpecValid', 'DeviceSpecInvalid', 'InternalTaskFailed', 'RepositoryAccessible', 'RepositoryInaccessible', 'ReferencedRepositoryUpdated', 'FleetValid', 'FleetInvalid', 'FleetRolloutCreated', 'FleetRolloutStarted', 'FleetRolloutFailed', 'FleetRolloutCompleted', 'FleetRolloutBatchDispatched', 'FleetRolloutDeviceSelected', 'FleetRolloutBatchCompleted', 'ResourceSyncCommitDetected', 'ResourceSyncAccessible', 'ResourceSyncInaccessible', 'ResourceSyncParsed', 'ResourceSyncParsingFailed', 'ResourceSyncSynced', 'ResourceSyncSyncFailed')") return value @field_validator('type') diff --git a/flightctl/models/event_details.py b/flightctl/models/event_details.py index e668046..48f9d00 100644 --- a/flightctl/models/event_details.py +++ b/flightctl/models/event_details.py @@ -18,12 +18,24 @@ import pprint from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator from typing import Any, List, Optional +from flightctl.models.device_multiple_owners_detected_details import DeviceMultipleOwnersDetectedDetails +from flightctl.models.device_multiple_owners_resolved_details import DeviceMultipleOwnersResolvedDetails +from flightctl.models.device_ownership_changed_details import DeviceOwnershipChangedDetails +from flightctl.models.fleet_rollout_batch_completed_details import FleetRolloutBatchCompletedDetails +from flightctl.models.fleet_rollout_batch_dispatched_details import FleetRolloutBatchDispatchedDetails +from flightctl.models.fleet_rollout_completed_details import FleetRolloutCompletedDetails +from flightctl.models.fleet_rollout_device_selected_details import FleetRolloutDeviceSelectedDetails +from flightctl.models.fleet_rollout_failed_details import FleetRolloutFailedDetails +from flightctl.models.fleet_rollout_started_details import FleetRolloutStartedDetails +from flightctl.models.internal_task_failed_details import InternalTaskFailedDetails +from flightctl.models.referenced_repository_updated_details import ReferencedRepositoryUpdatedDetails +from flightctl.models.resource_sync_completed_details import ResourceSyncCompletedDetails from flightctl.models.resource_updated_details import ResourceUpdatedDetails from pydantic import StrictStr, Field from typing import Union, List, Set, Optional, Dict from typing_extensions import Literal, Self -EVENTDETAILS_ONE_OF_SCHEMAS = ["ResourceUpdatedDetails"] +EVENTDETAILS_ONE_OF_SCHEMAS = ["DeviceMultipleOwnersDetectedDetails", "DeviceMultipleOwnersResolvedDetails", "DeviceOwnershipChangedDetails", "FleetRolloutBatchCompletedDetails", "FleetRolloutBatchDispatchedDetails", "FleetRolloutCompletedDetails", "FleetRolloutDeviceSelectedDetails", "FleetRolloutFailedDetails", "FleetRolloutStartedDetails", "InternalTaskFailedDetails", "ReferencedRepositoryUpdatedDetails", "ResourceSyncCompletedDetails", "ResourceUpdatedDetails"] class EventDetails(BaseModel): """ @@ -31,8 +43,32 @@ class EventDetails(BaseModel): """ # data type: ResourceUpdatedDetails oneof_schema_1_validator: Optional[ResourceUpdatedDetails] = None - actual_instance: Optional[Union[ResourceUpdatedDetails]] = None - one_of_schemas: Set[str] = { "ResourceUpdatedDetails" } + # data type: DeviceOwnershipChangedDetails + oneof_schema_2_validator: Optional[DeviceOwnershipChangedDetails] = None + # data type: DeviceMultipleOwnersDetectedDetails + oneof_schema_3_validator: Optional[DeviceMultipleOwnersDetectedDetails] = None + # data type: DeviceMultipleOwnersResolvedDetails + oneof_schema_4_validator: Optional[DeviceMultipleOwnersResolvedDetails] = None + # data type: InternalTaskFailedDetails + oneof_schema_5_validator: Optional[InternalTaskFailedDetails] = None + # data type: ResourceSyncCompletedDetails + oneof_schema_6_validator: Optional[ResourceSyncCompletedDetails] = None + # data type: ReferencedRepositoryUpdatedDetails + oneof_schema_7_validator: Optional[ReferencedRepositoryUpdatedDetails] = None + # data type: FleetRolloutStartedDetails + oneof_schema_8_validator: Optional[FleetRolloutStartedDetails] = None + # data type: FleetRolloutFailedDetails + oneof_schema_9_validator: Optional[FleetRolloutFailedDetails] = None + # data type: FleetRolloutCompletedDetails + oneof_schema_10_validator: Optional[FleetRolloutCompletedDetails] = None + # data type: FleetRolloutBatchDispatchedDetails + oneof_schema_11_validator: Optional[FleetRolloutBatchDispatchedDetails] = None + # data type: FleetRolloutBatchCompletedDetails + oneof_schema_12_validator: Optional[FleetRolloutBatchCompletedDetails] = None + # data type: FleetRolloutDeviceSelectedDetails + oneof_schema_13_validator: Optional[FleetRolloutDeviceSelectedDetails] = None + actual_instance: Optional[Union[DeviceMultipleOwnersDetectedDetails, DeviceMultipleOwnersResolvedDetails, DeviceOwnershipChangedDetails, FleetRolloutBatchCompletedDetails, FleetRolloutBatchDispatchedDetails, FleetRolloutCompletedDetails, FleetRolloutDeviceSelectedDetails, FleetRolloutFailedDetails, FleetRolloutStartedDetails, InternalTaskFailedDetails, ReferencedRepositoryUpdatedDetails, ResourceSyncCompletedDetails, ResourceUpdatedDetails]] = None + one_of_schemas: Set[str] = { "DeviceMultipleOwnersDetectedDetails", "DeviceMultipleOwnersResolvedDetails", "DeviceOwnershipChangedDetails", "FleetRolloutBatchCompletedDetails", "FleetRolloutBatchDispatchedDetails", "FleetRolloutCompletedDetails", "FleetRolloutDeviceSelectedDetails", "FleetRolloutFailedDetails", "FleetRolloutStartedDetails", "InternalTaskFailedDetails", "ReferencedRepositoryUpdatedDetails", "ResourceSyncCompletedDetails", "ResourceUpdatedDetails" } model_config = ConfigDict( validate_assignment=True, @@ -40,6 +76,9 @@ class EventDetails(BaseModel): ) + discriminator_value_class_map: Dict[str, str] = { + } + def __init__(self, *args, **kwargs) -> None: if args: if len(args) > 1: @@ -60,12 +99,72 @@ def actual_instance_must_validate_oneof(cls, v): error_messages.append(f"Error! Input type `{type(v)}` is not `ResourceUpdatedDetails`") else: match += 1 + # validate data type: DeviceOwnershipChangedDetails + if not isinstance(v, DeviceOwnershipChangedDetails): + error_messages.append(f"Error! Input type `{type(v)}` is not `DeviceOwnershipChangedDetails`") + else: + match += 1 + # validate data type: DeviceMultipleOwnersDetectedDetails + if not isinstance(v, DeviceMultipleOwnersDetectedDetails): + error_messages.append(f"Error! Input type `{type(v)}` is not `DeviceMultipleOwnersDetectedDetails`") + else: + match += 1 + # validate data type: DeviceMultipleOwnersResolvedDetails + if not isinstance(v, DeviceMultipleOwnersResolvedDetails): + error_messages.append(f"Error! Input type `{type(v)}` is not `DeviceMultipleOwnersResolvedDetails`") + else: + match += 1 + # validate data type: InternalTaskFailedDetails + if not isinstance(v, InternalTaskFailedDetails): + error_messages.append(f"Error! Input type `{type(v)}` is not `InternalTaskFailedDetails`") + else: + match += 1 + # validate data type: ResourceSyncCompletedDetails + if not isinstance(v, ResourceSyncCompletedDetails): + error_messages.append(f"Error! Input type `{type(v)}` is not `ResourceSyncCompletedDetails`") + else: + match += 1 + # validate data type: ReferencedRepositoryUpdatedDetails + if not isinstance(v, ReferencedRepositoryUpdatedDetails): + error_messages.append(f"Error! Input type `{type(v)}` is not `ReferencedRepositoryUpdatedDetails`") + else: + match += 1 + # validate data type: FleetRolloutStartedDetails + if not isinstance(v, FleetRolloutStartedDetails): + error_messages.append(f"Error! Input type `{type(v)}` is not `FleetRolloutStartedDetails`") + else: + match += 1 + # validate data type: FleetRolloutFailedDetails + if not isinstance(v, FleetRolloutFailedDetails): + error_messages.append(f"Error! Input type `{type(v)}` is not `FleetRolloutFailedDetails`") + else: + match += 1 + # validate data type: FleetRolloutCompletedDetails + if not isinstance(v, FleetRolloutCompletedDetails): + error_messages.append(f"Error! Input type `{type(v)}` is not `FleetRolloutCompletedDetails`") + else: + match += 1 + # validate data type: FleetRolloutBatchDispatchedDetails + if not isinstance(v, FleetRolloutBatchDispatchedDetails): + error_messages.append(f"Error! Input type `{type(v)}` is not `FleetRolloutBatchDispatchedDetails`") + else: + match += 1 + # validate data type: FleetRolloutBatchCompletedDetails + if not isinstance(v, FleetRolloutBatchCompletedDetails): + error_messages.append(f"Error! Input type `{type(v)}` is not `FleetRolloutBatchCompletedDetails`") + else: + match += 1 + # validate data type: FleetRolloutDeviceSelectedDetails + if not isinstance(v, FleetRolloutDeviceSelectedDetails): + error_messages.append(f"Error! Input type `{type(v)}` is not `FleetRolloutDeviceSelectedDetails`") + else: + match += 1 if match > 1: # more than 1 match - raise ValueError("Multiple matches found when setting `actual_instance` in EventDetails with oneOf schemas: ResourceUpdatedDetails. Details: " + ", ".join(error_messages)) + raise ValueError("Multiple matches found when setting `actual_instance` in EventDetails with oneOf schemas: DeviceMultipleOwnersDetectedDetails, DeviceMultipleOwnersResolvedDetails, DeviceOwnershipChangedDetails, FleetRolloutBatchCompletedDetails, FleetRolloutBatchDispatchedDetails, FleetRolloutCompletedDetails, FleetRolloutDeviceSelectedDetails, FleetRolloutFailedDetails, FleetRolloutStartedDetails, InternalTaskFailedDetails, ReferencedRepositoryUpdatedDetails, ResourceSyncCompletedDetails, ResourceUpdatedDetails. Details: " + ", ".join(error_messages)) elif match == 0: # no match - raise ValueError("No match found when setting `actual_instance` in EventDetails with oneOf schemas: ResourceUpdatedDetails. Details: " + ", ".join(error_messages)) + raise ValueError("No match found when setting `actual_instance` in EventDetails with oneOf schemas: DeviceMultipleOwnersDetectedDetails, DeviceMultipleOwnersResolvedDetails, DeviceOwnershipChangedDetails, FleetRolloutBatchCompletedDetails, FleetRolloutBatchDispatchedDetails, FleetRolloutCompletedDetails, FleetRolloutDeviceSelectedDetails, FleetRolloutFailedDetails, FleetRolloutStartedDetails, InternalTaskFailedDetails, ReferencedRepositoryUpdatedDetails, ResourceSyncCompletedDetails, ResourceUpdatedDetails. Details: " + ", ".join(error_messages)) else: return v @@ -80,19 +179,226 @@ def from_json(cls, json_str: str) -> Self: error_messages = [] match = 0 + # use oneOf discriminator to lookup the data type + _data_type = json.loads(json_str).get("detailType") + if not _data_type: + raise ValueError("Failed to lookup data type from the field `detailType` in the input.") + + # check if data type is `DeviceMultipleOwnersDetectedDetails` + if _data_type == "DeviceMultipleOwnersDetected": + instance.actual_instance = DeviceMultipleOwnersDetectedDetails.from_json(json_str) + return instance + + # check if data type is `DeviceMultipleOwnersResolvedDetails` + if _data_type == "DeviceMultipleOwnersResolved": + instance.actual_instance = DeviceMultipleOwnersResolvedDetails.from_json(json_str) + return instance + + # check if data type is `DeviceOwnershipChangedDetails` + if _data_type == "DeviceOwnershipChanged": + instance.actual_instance = DeviceOwnershipChangedDetails.from_json(json_str) + return instance + + # check if data type is `FleetRolloutBatchCompletedDetails` + if _data_type == "FleetRolloutBatchCompleted": + instance.actual_instance = FleetRolloutBatchCompletedDetails.from_json(json_str) + return instance + + # check if data type is `FleetRolloutBatchDispatchedDetails` + if _data_type == "FleetRolloutBatchDispatched": + instance.actual_instance = FleetRolloutBatchDispatchedDetails.from_json(json_str) + return instance + + # check if data type is `FleetRolloutCompletedDetails` + if _data_type == "FleetRolloutCompleted": + instance.actual_instance = FleetRolloutCompletedDetails.from_json(json_str) + return instance + + # check if data type is `FleetRolloutDeviceSelectedDetails` + if _data_type == "FleetRolloutDeviceSelected": + instance.actual_instance = FleetRolloutDeviceSelectedDetails.from_json(json_str) + return instance + + # check if data type is `FleetRolloutFailedDetails` + if _data_type == "FleetRolloutFailed": + instance.actual_instance = FleetRolloutFailedDetails.from_json(json_str) + return instance + + # check if data type is `FleetRolloutStartedDetails` + if _data_type == "FleetRolloutStarted": + instance.actual_instance = FleetRolloutStartedDetails.from_json(json_str) + return instance + + # check if data type is `InternalTaskFailedDetails` + if _data_type == "InternalTaskFailed": + instance.actual_instance = InternalTaskFailedDetails.from_json(json_str) + return instance + + # check if data type is `ReferencedRepositoryUpdatedDetails` + if _data_type == "ReferencedRepositoryUpdated": + instance.actual_instance = ReferencedRepositoryUpdatedDetails.from_json(json_str) + return instance + + # check if data type is `ResourceSyncCompletedDetails` + if _data_type == "ResourceSyncCompleted": + instance.actual_instance = ResourceSyncCompletedDetails.from_json(json_str) + return instance + + # check if data type is `ResourceUpdatedDetails` + if _data_type == "ResourceUpdated": + instance.actual_instance = ResourceUpdatedDetails.from_json(json_str) + return instance + + # check if data type is `DeviceMultipleOwnersDetectedDetails` + if _data_type == "DeviceMultipleOwnersDetectedDetails": + instance.actual_instance = DeviceMultipleOwnersDetectedDetails.from_json(json_str) + return instance + + # check if data type is `DeviceMultipleOwnersResolvedDetails` + if _data_type == "DeviceMultipleOwnersResolvedDetails": + instance.actual_instance = DeviceMultipleOwnersResolvedDetails.from_json(json_str) + return instance + + # check if data type is `DeviceOwnershipChangedDetails` + if _data_type == "DeviceOwnershipChangedDetails": + instance.actual_instance = DeviceOwnershipChangedDetails.from_json(json_str) + return instance + + # check if data type is `FleetRolloutBatchCompletedDetails` + if _data_type == "FleetRolloutBatchCompletedDetails": + instance.actual_instance = FleetRolloutBatchCompletedDetails.from_json(json_str) + return instance + + # check if data type is `FleetRolloutBatchDispatchedDetails` + if _data_type == "FleetRolloutBatchDispatchedDetails": + instance.actual_instance = FleetRolloutBatchDispatchedDetails.from_json(json_str) + return instance + + # check if data type is `FleetRolloutCompletedDetails` + if _data_type == "FleetRolloutCompletedDetails": + instance.actual_instance = FleetRolloutCompletedDetails.from_json(json_str) + return instance + + # check if data type is `FleetRolloutDeviceSelectedDetails` + if _data_type == "FleetRolloutDeviceSelectedDetails": + instance.actual_instance = FleetRolloutDeviceSelectedDetails.from_json(json_str) + return instance + + # check if data type is `FleetRolloutFailedDetails` + if _data_type == "FleetRolloutFailedDetails": + instance.actual_instance = FleetRolloutFailedDetails.from_json(json_str) + return instance + + # check if data type is `FleetRolloutStartedDetails` + if _data_type == "FleetRolloutStartedDetails": + instance.actual_instance = FleetRolloutStartedDetails.from_json(json_str) + return instance + + # check if data type is `InternalTaskFailedDetails` + if _data_type == "InternalTaskFailedDetails": + instance.actual_instance = InternalTaskFailedDetails.from_json(json_str) + return instance + + # check if data type is `ReferencedRepositoryUpdatedDetails` + if _data_type == "ReferencedRepositoryUpdatedDetails": + instance.actual_instance = ReferencedRepositoryUpdatedDetails.from_json(json_str) + return instance + + # check if data type is `ResourceSyncCompletedDetails` + if _data_type == "ResourceSyncCompletedDetails": + instance.actual_instance = ResourceSyncCompletedDetails.from_json(json_str) + return instance + + # check if data type is `ResourceUpdatedDetails` + if _data_type == "ResourceUpdatedDetails": + instance.actual_instance = ResourceUpdatedDetails.from_json(json_str) + return instance + # deserialize data into ResourceUpdatedDetails try: instance.actual_instance = ResourceUpdatedDetails.from_json(json_str) match += 1 except (ValidationError, ValueError) as e: error_messages.append(str(e)) + # deserialize data into DeviceOwnershipChangedDetails + try: + instance.actual_instance = DeviceOwnershipChangedDetails.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into DeviceMultipleOwnersDetectedDetails + try: + instance.actual_instance = DeviceMultipleOwnersDetectedDetails.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into DeviceMultipleOwnersResolvedDetails + try: + instance.actual_instance = DeviceMultipleOwnersResolvedDetails.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into InternalTaskFailedDetails + try: + instance.actual_instance = InternalTaskFailedDetails.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into ResourceSyncCompletedDetails + try: + instance.actual_instance = ResourceSyncCompletedDetails.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into ReferencedRepositoryUpdatedDetails + try: + instance.actual_instance = ReferencedRepositoryUpdatedDetails.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into FleetRolloutStartedDetails + try: + instance.actual_instance = FleetRolloutStartedDetails.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into FleetRolloutFailedDetails + try: + instance.actual_instance = FleetRolloutFailedDetails.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into FleetRolloutCompletedDetails + try: + instance.actual_instance = FleetRolloutCompletedDetails.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into FleetRolloutBatchDispatchedDetails + try: + instance.actual_instance = FleetRolloutBatchDispatchedDetails.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into FleetRolloutBatchCompletedDetails + try: + instance.actual_instance = FleetRolloutBatchCompletedDetails.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into FleetRolloutDeviceSelectedDetails + try: + instance.actual_instance = FleetRolloutDeviceSelectedDetails.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) if match > 1: # more than 1 match - raise ValueError("Multiple matches found when deserializing the JSON string into EventDetails with oneOf schemas: ResourceUpdatedDetails. Details: " + ", ".join(error_messages)) + raise ValueError("Multiple matches found when deserializing the JSON string into EventDetails with oneOf schemas: DeviceMultipleOwnersDetectedDetails, DeviceMultipleOwnersResolvedDetails, DeviceOwnershipChangedDetails, FleetRolloutBatchCompletedDetails, FleetRolloutBatchDispatchedDetails, FleetRolloutCompletedDetails, FleetRolloutDeviceSelectedDetails, FleetRolloutFailedDetails, FleetRolloutStartedDetails, InternalTaskFailedDetails, ReferencedRepositoryUpdatedDetails, ResourceSyncCompletedDetails, ResourceUpdatedDetails. Details: " + ", ".join(error_messages)) elif match == 0: # no match - raise ValueError("No match found when deserializing the JSON string into EventDetails with oneOf schemas: ResourceUpdatedDetails. Details: " + ", ".join(error_messages)) + raise ValueError("No match found when deserializing the JSON string into EventDetails with oneOf schemas: DeviceMultipleOwnersDetectedDetails, DeviceMultipleOwnersResolvedDetails, DeviceOwnershipChangedDetails, FleetRolloutBatchCompletedDetails, FleetRolloutBatchDispatchedDetails, FleetRolloutCompletedDetails, FleetRolloutDeviceSelectedDetails, FleetRolloutFailedDetails, FleetRolloutStartedDetails, InternalTaskFailedDetails, ReferencedRepositoryUpdatedDetails, ResourceSyncCompletedDetails, ResourceUpdatedDetails. Details: " + ", ".join(error_messages)) else: return instance @@ -106,7 +412,7 @@ def to_json(self) -> str: else: return json.dumps(self.actual_instance) - def to_dict(self) -> Optional[Union[Dict[str, Any], ResourceUpdatedDetails]]: + def to_dict(self) -> Optional[Union[Dict[str, Any], DeviceMultipleOwnersDetectedDetails, DeviceMultipleOwnersResolvedDetails, DeviceOwnershipChangedDetails, FleetRolloutBatchCompletedDetails, FleetRolloutBatchDispatchedDetails, FleetRolloutCompletedDetails, FleetRolloutDeviceSelectedDetails, FleetRolloutFailedDetails, FleetRolloutStartedDetails, InternalTaskFailedDetails, ReferencedRepositoryUpdatedDetails, ResourceSyncCompletedDetails, ResourceUpdatedDetails]]: """Returns the dict representation of the actual instance""" if self.actual_instance is None: return None diff --git a/flightctl/models/fleet_rollout_batch_completed_details.py b/flightctl/models/fleet_rollout_batch_completed_details.py new file mode 100644 index 0000000..446c95a --- /dev/null +++ b/flightctl/models/fleet_rollout_batch_completed_details.py @@ -0,0 +1,109 @@ +# coding: utf-8 + +""" + Flight Control API + + [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. + + The version of the OpenAPI document: v1alpha1 + Contact: team@flightctl.io + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List +from typing import Optional, Set +from typing_extensions import Self + +class FleetRolloutBatchCompletedDetails(BaseModel): + """ + FleetRolloutBatchCompletedDetails + """ # noqa: E501 + detail_type: StrictStr = Field(description="The type of detail for discriminator purposes.", alias="detailType") + template_version: StrictStr = Field(description="The name of the TemplateVersion that this batch is rolling out to.", alias="templateVersion") + batch: StrictStr = Field(description="The batch within the fleet rollout.") + success_percentage: StrictInt = Field(description="The success percentage of the batch.", alias="successPercentage") + total: StrictInt = Field(description="The total number of devices in the batch.") + successful: StrictInt = Field(description="The number of successful devices in the batch.") + failed: StrictInt = Field(description="The number of failed devices in the batch.") + timed_out: StrictInt = Field(description="The number of timed out devices in the batch.", alias="timedOut") + __properties: ClassVar[List[str]] = ["detailType", "templateVersion", "batch", "successPercentage", "total", "successful", "failed", "timedOut"] + + @field_validator('detail_type') + def detail_type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['FleetRolloutBatchCompleted']): + raise ValueError("must be one of enum values ('FleetRolloutBatchCompleted')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of FleetRolloutBatchCompletedDetails from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of FleetRolloutBatchCompletedDetails from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "detailType": obj.get("detailType"), + "templateVersion": obj.get("templateVersion"), + "batch": obj.get("batch"), + "successPercentage": obj.get("successPercentage"), + "total": obj.get("total"), + "successful": obj.get("successful"), + "failed": obj.get("failed"), + "timedOut": obj.get("timedOut") + }) + return _obj + + diff --git a/flightctl/models/fleet_rollout_batch_dispatched_details.py b/flightctl/models/fleet_rollout_batch_dispatched_details.py new file mode 100644 index 0000000..1d68846 --- /dev/null +++ b/flightctl/models/fleet_rollout_batch_dispatched_details.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Flight Control API + + [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. + + The version of the OpenAPI document: v1alpha1 + Contact: team@flightctl.io + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List +from typing import Optional, Set +from typing_extensions import Self + +class FleetRolloutBatchDispatchedDetails(BaseModel): + """ + FleetRolloutBatchDispatchedDetails + """ # noqa: E501 + detail_type: StrictStr = Field(description="The type of detail for discriminator purposes.", alias="detailType") + template_version: StrictStr = Field(description="The name of the TemplateVersion that this batch is rolling out to.", alias="templateVersion") + batch: StrictStr = Field(description="The batch within the fleet rollout.") + __properties: ClassVar[List[str]] = ["detailType", "templateVersion", "batch"] + + @field_validator('detail_type') + def detail_type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['FleetRolloutBatchDispatched']): + raise ValueError("must be one of enum values ('FleetRolloutBatchDispatched')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of FleetRolloutBatchDispatchedDetails from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of FleetRolloutBatchDispatchedDetails from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "detailType": obj.get("detailType"), + "templateVersion": obj.get("templateVersion"), + "batch": obj.get("batch") + }) + return _obj + + diff --git a/flightctl/models/fleet_rollout_completed_details.py b/flightctl/models/fleet_rollout_completed_details.py new file mode 100644 index 0000000..7560530 --- /dev/null +++ b/flightctl/models/fleet_rollout_completed_details.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Flight Control API + + [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. + + The version of the OpenAPI document: v1alpha1 + Contact: team@flightctl.io + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List +from typing import Optional, Set +from typing_extensions import Self + +class FleetRolloutCompletedDetails(BaseModel): + """ + FleetRolloutCompletedDetails + """ # noqa: E501 + detail_type: StrictStr = Field(description="The type of detail for discriminator purposes.", alias="detailType") + template_version: StrictStr = Field(description="The name of the TemplateVersion that this fleet rollout is completed for.", alias="templateVersion") + __properties: ClassVar[List[str]] = ["detailType", "templateVersion"] + + @field_validator('detail_type') + def detail_type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['FleetRolloutCompleted']): + raise ValueError("must be one of enum values ('FleetRolloutCompleted')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of FleetRolloutCompletedDetails from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of FleetRolloutCompletedDetails from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "detailType": obj.get("detailType"), + "templateVersion": obj.get("templateVersion") + }) + return _obj + + diff --git a/flightctl/models/fleet_rollout_device_selected_details.py b/flightctl/models/fleet_rollout_device_selected_details.py new file mode 100644 index 0000000..eb95b6a --- /dev/null +++ b/flightctl/models/fleet_rollout_device_selected_details.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Flight Control API + + [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. + + The version of the OpenAPI document: v1alpha1 + Contact: team@flightctl.io + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List +from typing import Optional, Set +from typing_extensions import Self + +class FleetRolloutDeviceSelectedDetails(BaseModel): + """ + FleetRolloutDeviceSelectedDetails + """ # noqa: E501 + detail_type: StrictStr = Field(description="The type of detail for discriminator purposes.", alias="detailType") + fleet_name: StrictStr = Field(description="The name of the fleet that the device is being selected for.", alias="fleetName") + template_version: StrictStr = Field(description="The name of the TemplateVersion that the device is being selected to render.", alias="templateVersion") + __properties: ClassVar[List[str]] = ["detailType", "fleetName", "templateVersion"] + + @field_validator('detail_type') + def detail_type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['FleetRolloutDeviceSelected']): + raise ValueError("must be one of enum values ('FleetRolloutDeviceSelected')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of FleetRolloutDeviceSelectedDetails from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of FleetRolloutDeviceSelectedDetails from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "detailType": obj.get("detailType"), + "fleetName": obj.get("fleetName"), + "templateVersion": obj.get("templateVersion") + }) + return _obj + + diff --git a/flightctl/models/fleet_rollout_failed_details.py b/flightctl/models/fleet_rollout_failed_details.py new file mode 100644 index 0000000..615bd63 --- /dev/null +++ b/flightctl/models/fleet_rollout_failed_details.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Flight Control API + + [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. + + The version of the OpenAPI document: v1alpha1 + Contact: team@flightctl.io + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List +from typing import Optional, Set +from typing_extensions import Self + +class FleetRolloutFailedDetails(BaseModel): + """ + FleetRolloutFailedDetails + """ # noqa: E501 + detail_type: StrictStr = Field(description="The type of detail for discriminator purposes.", alias="detailType") + template_version: StrictStr = Field(description="The name of the TemplateVersion that this fleet rollout failed for.", alias="templateVersion") + __properties: ClassVar[List[str]] = ["detailType", "templateVersion"] + + @field_validator('detail_type') + def detail_type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['FleetRolloutFailed']): + raise ValueError("must be one of enum values ('FleetRolloutFailed')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of FleetRolloutFailedDetails from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of FleetRolloutFailedDetails from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "detailType": obj.get("detailType"), + "templateVersion": obj.get("templateVersion") + }) + return _obj + + diff --git a/flightctl/models/fleet_rollout_started_details.py b/flightctl/models/fleet_rollout_started_details.py new file mode 100644 index 0000000..b5d4a31 --- /dev/null +++ b/flightctl/models/fleet_rollout_started_details.py @@ -0,0 +1,106 @@ +# coding: utf-8 + +""" + Flight Control API + + [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. + + The version of the OpenAPI document: v1alpha1 + Contact: team@flightctl.io + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List +from typing import Optional, Set +from typing_extensions import Self + +class FleetRolloutStartedDetails(BaseModel): + """ + FleetRolloutStartedDetails + """ # noqa: E501 + detail_type: StrictStr = Field(description="The type of detail for discriminator purposes.", alias="detailType") + template_version: StrictStr = Field(description="The name of the TemplateVersion that is rolling out.", alias="templateVersion") + rollout_strategy: StrictStr = Field(description="Rollout strategy type.", alias="rolloutStrategy") + __properties: ClassVar[List[str]] = ["detailType", "templateVersion", "rolloutStrategy"] + + @field_validator('detail_type') + def detail_type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['FleetRolloutStarted']): + raise ValueError("must be one of enum values ('FleetRolloutStarted')") + return value + + @field_validator('rollout_strategy') + def rollout_strategy_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['None', 'Batched']): + raise ValueError("must be one of enum values ('None', 'Batched')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of FleetRolloutStartedDetails from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of FleetRolloutStartedDetails from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "detailType": obj.get("detailType"), + "templateVersion": obj.get("templateVersion"), + "rolloutStrategy": obj.get("rolloutStrategy") + }) + return _obj + + diff --git a/flightctl/models/git_config_provider_spec_git_ref.py b/flightctl/models/git_config_provider_spec_git_ref.py index c3461f0..f73ccc3 100644 --- a/flightctl/models/git_config_provider_spec_git_ref.py +++ b/flightctl/models/git_config_provider_spec_git_ref.py @@ -19,7 +19,7 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List from typing import Optional, Set from typing_extensions import Self @@ -30,8 +30,7 @@ class GitConfigProviderSpecGitRef(BaseModel): repository: StrictStr = Field(description="The name of the Repository resource.") target_revision: StrictStr = Field(description="The revision to use from the Repository.", alias="targetRevision") path: StrictStr = Field(description="The path to the config in the Repository.") - mount_path: Optional[StrictStr] = Field(default='/', description="Path in the device's file system at which the repository's path should be mounted.", alias="mountPath") - __properties: ClassVar[List[str]] = ["repository", "targetRevision", "path", "mountPath"] + __properties: ClassVar[List[str]] = ["repository", "targetRevision", "path"] model_config = ConfigDict( populate_by_name=True, @@ -86,8 +85,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "repository": obj.get("repository"), "targetRevision": obj.get("targetRevision"), - "path": obj.get("path"), - "mountPath": obj.get("mountPath") if obj.get("mountPath") is not None else '/' + "path": obj.get("path") }) return _obj diff --git a/flightctl/models/image_volume_source.py b/flightctl/models/image_volume_source.py index 466e9b1..ca59e21 100644 --- a/flightctl/models/image_volume_source.py +++ b/flightctl/models/image_volume_source.py @@ -29,6 +29,7 @@ class ImageVolumeSource(BaseModel): Describes the source of an OCI-compliant image or artifact. """ # noqa: E501 reference: StrictStr = Field(description="Reference to an OCI-compliant image or artifact in a registry. This may be a container image or another type of OCI artifact, as long as it conforms to the OCI image specification.") + pull_policy: Optional[ImagePullPolicy] = Field(default=ImagePullPolicy.IFNOTPRESENT, alias="pullPolicy") __properties: ClassVar[List[str]] = ["reference", "pullPolicy"] model_config = ConfigDict( @@ -83,6 +84,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "reference": obj.get("reference"), + "pullPolicy": obj.get("pullPolicy") if obj.get("pullPolicy") is not None else ImagePullPolicy.IFNOTPRESENT }) return _obj diff --git a/flightctl/models/internal_task_failed_details.py b/flightctl/models/internal_task_failed_details.py new file mode 100644 index 0000000..4e51500 --- /dev/null +++ b/flightctl/models/internal_task_failed_details.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Flight Control API + + [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. + + The version of the OpenAPI document: v1alpha1 + Contact: team@flightctl.io + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class InternalTaskFailedDetails(BaseModel): + """ + InternalTaskFailedDetails + """ # noqa: E501 + detail_type: StrictStr = Field(description="The type of detail for discriminator purposes.", alias="detailType") + task_type: StrictStr = Field(description="The type of internal task that failed.", alias="taskType") + error_message: StrictStr = Field(description="The error message describing the failure.", alias="errorMessage") + retry_count: Optional[StrictInt] = Field(default=None, description="Number of times the task has been retried.", alias="retryCount") + task_parameters: Optional[Dict[str, StrictStr]] = Field(default=None, description="Parameters needed to retry the task.", alias="taskParameters") + __properties: ClassVar[List[str]] = ["detailType", "taskType", "errorMessage", "retryCount", "taskParameters"] + + @field_validator('detail_type') + def detail_type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['InternalTaskFailed']): + raise ValueError("must be one of enum values ('InternalTaskFailed')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of InternalTaskFailedDetails from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of InternalTaskFailedDetails from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "detailType": obj.get("detailType"), + "taskType": obj.get("taskType"), + "errorMessage": obj.get("errorMessage"), + "retryCount": obj.get("retryCount"), + "taskParameters": obj.get("taskParameters") + }) + return _obj + + diff --git a/flightctl/models/organization.py b/flightctl/models/organization.py new file mode 100644 index 0000000..ae6cdc0 --- /dev/null +++ b/flightctl/models/organization.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + Flight Control API + + [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. + + The version of the OpenAPI document: v1alpha1 + Contact: team@flightctl.io + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from flightctl.models.object_meta import ObjectMeta +from flightctl.models.organization_spec import OrganizationSpec +from typing import Optional, Set +from typing_extensions import Self + +class Organization(BaseModel): + """ + Organization + """ # noqa: E501 + api_version: StrictStr = Field(description="APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources.", alias="apiVersion") + kind: StrictStr = Field(description="Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds.") + metadata: ObjectMeta + spec: Optional[OrganizationSpec] = None + __properties: ClassVar[List[str]] = ["apiVersion", "kind", "metadata", "spec"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Organization from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of metadata + if self.metadata: + _dict['metadata'] = self.metadata.to_dict() + # override the default output from pydantic by calling `to_dict()` of spec + if self.spec: + _dict['spec'] = self.spec.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Organization from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "apiVersion": obj.get("apiVersion"), + "kind": obj.get("kind"), + "metadata": ObjectMeta.from_dict(obj["metadata"]) if obj.get("metadata") is not None else None, + "spec": OrganizationSpec.from_dict(obj["spec"]) if obj.get("spec") is not None else None + }) + return _obj + + diff --git a/flightctl/models/organization_list.py b/flightctl/models/organization_list.py new file mode 100644 index 0000000..a855e25 --- /dev/null +++ b/flightctl/models/organization_list.py @@ -0,0 +1,106 @@ +# coding: utf-8 + +""" + Flight Control API + + [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. + + The version of the OpenAPI document: v1alpha1 + Contact: team@flightctl.io + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List +from flightctl.models.list_meta import ListMeta +from flightctl.models.organization import Organization +from typing import Optional, Set +from typing_extensions import Self + +class OrganizationList(BaseModel): + """ + OrganizationList is a list of Organizations. + """ # noqa: E501 + api_version: StrictStr = Field(description="APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources.", alias="apiVersion") + kind: StrictStr = Field(description="Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds.") + metadata: ListMeta + items: List[Organization] = Field(description="List of Organizations.") + __properties: ClassVar[List[str]] = ["apiVersion", "kind", "metadata", "items"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of OrganizationList from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of metadata + if self.metadata: + _dict['metadata'] = self.metadata.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in items (list) + _items = [] + if self.items: + for _item_items in self.items: + if _item_items: + _items.append(_item_items.to_dict()) + _dict['items'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of OrganizationList from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "apiVersion": obj.get("apiVersion"), + "kind": obj.get("kind"), + "metadata": ListMeta.from_dict(obj["metadata"]) if obj.get("metadata") is not None else None, + "items": [Organization.from_dict(_item) for _item in obj["items"]] if obj.get("items") is not None else None + }) + return _obj + + diff --git a/flightctl/models/organization_spec.py b/flightctl/models/organization_spec.py new file mode 100644 index 0000000..23db800 --- /dev/null +++ b/flightctl/models/organization_spec.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + Flight Control API + + [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. + + The version of the OpenAPI document: v1alpha1 + Contact: team@flightctl.io + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class OrganizationSpec(BaseModel): + """ + OrganizationSpec describes an organization. + """ # noqa: E501 + display_name: Optional[StrictStr] = Field(default=None, description="Human readable name shown to users.", alias="displayName") + external_id: Optional[StrictStr] = Field(default=None, description="External ID of the organization.", alias="externalId") + __properties: ClassVar[List[str]] = ["displayName", "externalId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of OrganizationSpec from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of OrganizationSpec from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "displayName": obj.get("displayName"), + "externalId": obj.get("externalId") + }) + return _obj + + diff --git a/flightctl/models/referenced_repository_updated_details.py b/flightctl/models/referenced_repository_updated_details.py new file mode 100644 index 0000000..c044dff --- /dev/null +++ b/flightctl/models/referenced_repository_updated_details.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Flight Control API + + [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. + + The version of the OpenAPI document: v1alpha1 + Contact: team@flightctl.io + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List +from typing import Optional, Set +from typing_extensions import Self + +class ReferencedRepositoryUpdatedDetails(BaseModel): + """ + ReferencedRepositoryUpdatedDetails + """ # noqa: E501 + detail_type: StrictStr = Field(description="The type of detail for discriminator purposes.", alias="detailType") + repository: StrictStr = Field(description="The name of the repository that was updated.") + __properties: ClassVar[List[str]] = ["detailType", "repository"] + + @field_validator('detail_type') + def detail_type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['ReferencedRepositoryUpdated']): + raise ValueError("must be one of enum values ('ReferencedRepositoryUpdated')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ReferencedRepositoryUpdatedDetails from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ReferencedRepositoryUpdatedDetails from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "detailType": obj.get("detailType"), + "repository": obj.get("repository") + }) + return _obj + + diff --git a/flightctl/models/resource_sync_completed_details.py b/flightctl/models/resource_sync_completed_details.py new file mode 100644 index 0000000..68cec1b --- /dev/null +++ b/flightctl/models/resource_sync_completed_details.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Flight Control API + + [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. + + The version of the OpenAPI document: v1alpha1 + Contact: team@flightctl.io + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List +from typing import Optional, Set +from typing_extensions import Self + +class ResourceSyncCompletedDetails(BaseModel): + """ + ResourceSyncCompletedDetails + """ # noqa: E501 + detail_type: StrictStr = Field(description="The type of detail for discriminator purposes.", alias="detailType") + commit_hash: StrictStr = Field(description="Hash of the last commit.", alias="commitHash") + change_count: StrictInt = Field(description="Number of changes introduced by this ResourceSync update.", alias="changeCount") + error_count: StrictInt = Field(description="Number of errors encountered by this ResourceSync update.", alias="errorCount") + __properties: ClassVar[List[str]] = ["detailType", "commitHash", "changeCount", "errorCount"] + + @field_validator('detail_type') + def detail_type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['ResourceSyncCompleted']): + raise ValueError("must be one of enum values ('ResourceSyncCompleted')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ResourceSyncCompletedDetails from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ResourceSyncCompletedDetails from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "detailType": obj.get("detailType"), + "commitHash": obj.get("commitHash"), + "changeCount": obj.get("changeCount"), + "errorCount": obj.get("errorCount") + }) + return _obj + + diff --git a/flightctl/models/resource_updated_details.py b/flightctl/models/resource_updated_details.py index 1927e01..7642555 100644 --- a/flightctl/models/resource_updated_details.py +++ b/flightctl/models/resource_updated_details.py @@ -27,17 +27,25 @@ class ResourceUpdatedDetails(BaseModel): """ ResourceUpdatedDetails """ # noqa: E501 + detail_type: StrictStr = Field(description="The type of detail for discriminator purposes.", alias="detailType") updated_fields: List[StrictStr] = Field(description="List of fields that were updated in the resource.", alias="updatedFields") previous_owner: Optional[StrictStr] = Field(default=None, description="The previous owner (if applicable).", alias="previousOwner") new_owner: Optional[StrictStr] = Field(default=None, description="The new owner (if applicable).", alias="newOwner") - __properties: ClassVar[List[str]] = ["updatedFields", "previousOwner", "newOwner"] + __properties: ClassVar[List[str]] = ["detailType", "updatedFields", "previousOwner", "newOwner"] + + @field_validator('detail_type') + def detail_type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['ResourceUpdated']): + raise ValueError("must be one of enum values ('ResourceUpdated')") + return value @field_validator('updated_fields') def updated_fields_validate_enum(cls, value): """Validates the enum""" for i in value: - if i not in set(['owner', 'labels', 'spec']): - raise ValueError("each list item must be one of ('owner', 'labels', 'spec')") + if i not in set(['owner', 'labels', 'spec', 'spec.selector', 'spec.template']): + raise ValueError("each list item must be one of ('owner', 'labels', 'spec', 'spec.selector', 'spec.template')") return value model_config = ConfigDict( @@ -101,6 +109,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ + "detailType": obj.get("detailType"), "updatedFields": obj.get("updatedFields"), "previousOwner": obj.get("previousOwner"), "newOwner": obj.get("newOwner") diff --git a/test/test_device_integrity_check_status.py b/test/test_device_integrity_check_status.py new file mode 100644 index 0000000..f0f6e85 --- /dev/null +++ b/test/test_device_integrity_check_status.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Flight Control API + + [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. + + The version of the OpenAPI document: v1alpha1 + Contact: team@flightctl.io + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from flightctl.models.device_integrity_check_status import DeviceIntegrityCheckStatus + +class TestDeviceIntegrityCheckStatus(unittest.TestCase): + """DeviceIntegrityCheckStatus unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeviceIntegrityCheckStatus: + """Test DeviceIntegrityCheckStatus + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeviceIntegrityCheckStatus` + """ + model = DeviceIntegrityCheckStatus() + if include_optional: + return DeviceIntegrityCheckStatus( + status = 'Unknown', + info = '' + ) + else: + return DeviceIntegrityCheckStatus( + status = 'Unknown', + ) + """ + + def testDeviceIntegrityCheckStatus(self): + """Test DeviceIntegrityCheckStatus""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_device_integrity_check_status_type.py b/test/test_device_integrity_check_status_type.py new file mode 100644 index 0000000..b8a3b9c --- /dev/null +++ b/test/test_device_integrity_check_status_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Flight Control API + + [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. + + The version of the OpenAPI document: v1alpha1 + Contact: team@flightctl.io + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from flightctl.models.device_integrity_check_status_type import DeviceIntegrityCheckStatusType + +class TestDeviceIntegrityCheckStatusType(unittest.TestCase): + """DeviceIntegrityCheckStatusType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testDeviceIntegrityCheckStatusType(self): + """Test DeviceIntegrityCheckStatusType""" + # inst = DeviceIntegrityCheckStatusType() + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_device_multiple_owners_detected_details.py b/test/test_device_multiple_owners_detected_details.py new file mode 100644 index 0000000..841ec16 --- /dev/null +++ b/test/test_device_multiple_owners_detected_details.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Flight Control API + + [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. + + The version of the OpenAPI document: v1alpha1 + Contact: team@flightctl.io + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from flightctl.models.device_multiple_owners_detected_details import DeviceMultipleOwnersDetectedDetails + +class TestDeviceMultipleOwnersDetectedDetails(unittest.TestCase): + """DeviceMultipleOwnersDetectedDetails unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeviceMultipleOwnersDetectedDetails: + """Test DeviceMultipleOwnersDetectedDetails + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeviceMultipleOwnersDetectedDetails` + """ + model = DeviceMultipleOwnersDetectedDetails() + if include_optional: + return DeviceMultipleOwnersDetectedDetails( + detail_type = 'DeviceMultipleOwnersDetected', + matching_fleets = [ + '' + ] + ) + else: + return DeviceMultipleOwnersDetectedDetails( + detail_type = 'DeviceMultipleOwnersDetected', + matching_fleets = [ + '' + ], + ) + """ + + def testDeviceMultipleOwnersDetectedDetails(self): + """Test DeviceMultipleOwnersDetectedDetails""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_device_multiple_owners_resolved_details.py b/test/test_device_multiple_owners_resolved_details.py new file mode 100644 index 0000000..27744bd --- /dev/null +++ b/test/test_device_multiple_owners_resolved_details.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Flight Control API + + [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. + + The version of the OpenAPI document: v1alpha1 + Contact: team@flightctl.io + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from flightctl.models.device_multiple_owners_resolved_details import DeviceMultipleOwnersResolvedDetails + +class TestDeviceMultipleOwnersResolvedDetails(unittest.TestCase): + """DeviceMultipleOwnersResolvedDetails unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeviceMultipleOwnersResolvedDetails: + """Test DeviceMultipleOwnersResolvedDetails + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeviceMultipleOwnersResolvedDetails` + """ + model = DeviceMultipleOwnersResolvedDetails() + if include_optional: + return DeviceMultipleOwnersResolvedDetails( + detail_type = 'DeviceMultipleOwnersResolved', + resolution_type = 'SingleMatch', + assigned_owner = '', + previous_matching_fleets = [ + '' + ] + ) + else: + return DeviceMultipleOwnersResolvedDetails( + detail_type = 'DeviceMultipleOwnersResolved', + resolution_type = 'SingleMatch', + ) + """ + + def testDeviceMultipleOwnersResolvedDetails(self): + """Test DeviceMultipleOwnersResolvedDetails""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_device_ownership_changed_details.py b/test/test_device_ownership_changed_details.py new file mode 100644 index 0000000..6d8f620 --- /dev/null +++ b/test/test_device_ownership_changed_details.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Flight Control API + + [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. + + The version of the OpenAPI document: v1alpha1 + Contact: team@flightctl.io + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from flightctl.models.device_ownership_changed_details import DeviceOwnershipChangedDetails + +class TestDeviceOwnershipChangedDetails(unittest.TestCase): + """DeviceOwnershipChangedDetails unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeviceOwnershipChangedDetails: + """Test DeviceOwnershipChangedDetails + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeviceOwnershipChangedDetails` + """ + model = DeviceOwnershipChangedDetails() + if include_optional: + return DeviceOwnershipChangedDetails( + detail_type = 'DeviceOwnershipChanged', + previous_owner = '', + new_owner = '' + ) + else: + return DeviceOwnershipChangedDetails( + detail_type = 'DeviceOwnershipChanged', + ) + """ + + def testDeviceOwnershipChangedDetails(self): + """Test DeviceOwnershipChangedDetails""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_fleet_rollout_batch_completed_details.py b/test/test_fleet_rollout_batch_completed_details.py new file mode 100644 index 0000000..f352dcd --- /dev/null +++ b/test/test_fleet_rollout_batch_completed_details.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + Flight Control API + + [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. + + The version of the OpenAPI document: v1alpha1 + Contact: team@flightctl.io + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from flightctl.models.fleet_rollout_batch_completed_details import FleetRolloutBatchCompletedDetails + +class TestFleetRolloutBatchCompletedDetails(unittest.TestCase): + """FleetRolloutBatchCompletedDetails unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> FleetRolloutBatchCompletedDetails: + """Test FleetRolloutBatchCompletedDetails + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `FleetRolloutBatchCompletedDetails` + """ + model = FleetRolloutBatchCompletedDetails() + if include_optional: + return FleetRolloutBatchCompletedDetails( + detail_type = 'FleetRolloutBatchCompleted', + template_version = '', + batch = '', + success_percentage = 56, + total = 56, + successful = 56, + failed = 56, + timed_out = 56 + ) + else: + return FleetRolloutBatchCompletedDetails( + detail_type = 'FleetRolloutBatchCompleted', + template_version = '', + batch = '', + success_percentage = 56, + total = 56, + successful = 56, + failed = 56, + timed_out = 56, + ) + """ + + def testFleetRolloutBatchCompletedDetails(self): + """Test FleetRolloutBatchCompletedDetails""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_fleet_rollout_batch_dispatched_details.py b/test/test_fleet_rollout_batch_dispatched_details.py new file mode 100644 index 0000000..7c51330 --- /dev/null +++ b/test/test_fleet_rollout_batch_dispatched_details.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Flight Control API + + [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. + + The version of the OpenAPI document: v1alpha1 + Contact: team@flightctl.io + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from flightctl.models.fleet_rollout_batch_dispatched_details import FleetRolloutBatchDispatchedDetails + +class TestFleetRolloutBatchDispatchedDetails(unittest.TestCase): + """FleetRolloutBatchDispatchedDetails unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> FleetRolloutBatchDispatchedDetails: + """Test FleetRolloutBatchDispatchedDetails + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `FleetRolloutBatchDispatchedDetails` + """ + model = FleetRolloutBatchDispatchedDetails() + if include_optional: + return FleetRolloutBatchDispatchedDetails( + detail_type = 'FleetRolloutBatchDispatched', + template_version = '', + batch = '' + ) + else: + return FleetRolloutBatchDispatchedDetails( + detail_type = 'FleetRolloutBatchDispatched', + template_version = '', + batch = '', + ) + """ + + def testFleetRolloutBatchDispatchedDetails(self): + """Test FleetRolloutBatchDispatchedDetails""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_fleet_rollout_completed_details.py b/test/test_fleet_rollout_completed_details.py new file mode 100644 index 0000000..7a07d7d --- /dev/null +++ b/test/test_fleet_rollout_completed_details.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Flight Control API + + [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. + + The version of the OpenAPI document: v1alpha1 + Contact: team@flightctl.io + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from flightctl.models.fleet_rollout_completed_details import FleetRolloutCompletedDetails + +class TestFleetRolloutCompletedDetails(unittest.TestCase): + """FleetRolloutCompletedDetails unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> FleetRolloutCompletedDetails: + """Test FleetRolloutCompletedDetails + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `FleetRolloutCompletedDetails` + """ + model = FleetRolloutCompletedDetails() + if include_optional: + return FleetRolloutCompletedDetails( + detail_type = 'FleetRolloutCompleted', + template_version = '' + ) + else: + return FleetRolloutCompletedDetails( + detail_type = 'FleetRolloutCompleted', + template_version = '', + ) + """ + + def testFleetRolloutCompletedDetails(self): + """Test FleetRolloutCompletedDetails""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_fleet_rollout_device_selected_details.py b/test/test_fleet_rollout_device_selected_details.py new file mode 100644 index 0000000..3430000 --- /dev/null +++ b/test/test_fleet_rollout_device_selected_details.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Flight Control API + + [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. + + The version of the OpenAPI document: v1alpha1 + Contact: team@flightctl.io + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from flightctl.models.fleet_rollout_device_selected_details import FleetRolloutDeviceSelectedDetails + +class TestFleetRolloutDeviceSelectedDetails(unittest.TestCase): + """FleetRolloutDeviceSelectedDetails unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> FleetRolloutDeviceSelectedDetails: + """Test FleetRolloutDeviceSelectedDetails + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `FleetRolloutDeviceSelectedDetails` + """ + model = FleetRolloutDeviceSelectedDetails() + if include_optional: + return FleetRolloutDeviceSelectedDetails( + detail_type = 'FleetRolloutDeviceSelected', + fleet_name = '', + template_version = '' + ) + else: + return FleetRolloutDeviceSelectedDetails( + detail_type = 'FleetRolloutDeviceSelected', + fleet_name = '', + template_version = '', + ) + """ + + def testFleetRolloutDeviceSelectedDetails(self): + """Test FleetRolloutDeviceSelectedDetails""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_fleet_rollout_failed_details.py b/test/test_fleet_rollout_failed_details.py new file mode 100644 index 0000000..08d4c49 --- /dev/null +++ b/test/test_fleet_rollout_failed_details.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Flight Control API + + [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. + + The version of the OpenAPI document: v1alpha1 + Contact: team@flightctl.io + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from flightctl.models.fleet_rollout_failed_details import FleetRolloutFailedDetails + +class TestFleetRolloutFailedDetails(unittest.TestCase): + """FleetRolloutFailedDetails unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> FleetRolloutFailedDetails: + """Test FleetRolloutFailedDetails + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `FleetRolloutFailedDetails` + """ + model = FleetRolloutFailedDetails() + if include_optional: + return FleetRolloutFailedDetails( + detail_type = 'FleetRolloutFailed', + template_version = '' + ) + else: + return FleetRolloutFailedDetails( + detail_type = 'FleetRolloutFailed', + template_version = '', + ) + """ + + def testFleetRolloutFailedDetails(self): + """Test FleetRolloutFailedDetails""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_fleet_rollout_started_details.py b/test/test_fleet_rollout_started_details.py new file mode 100644 index 0000000..c7eb530 --- /dev/null +++ b/test/test_fleet_rollout_started_details.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Flight Control API + + [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. + + The version of the OpenAPI document: v1alpha1 + Contact: team@flightctl.io + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from flightctl.models.fleet_rollout_started_details import FleetRolloutStartedDetails + +class TestFleetRolloutStartedDetails(unittest.TestCase): + """FleetRolloutStartedDetails unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> FleetRolloutStartedDetails: + """Test FleetRolloutStartedDetails + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `FleetRolloutStartedDetails` + """ + model = FleetRolloutStartedDetails() + if include_optional: + return FleetRolloutStartedDetails( + detail_type = 'FleetRolloutStarted', + template_version = '', + rollout_strategy = 'None' + ) + else: + return FleetRolloutStartedDetails( + detail_type = 'FleetRolloutStarted', + template_version = '', + rollout_strategy = 'None', + ) + """ + + def testFleetRolloutStartedDetails(self): + """Test FleetRolloutStartedDetails""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_internal_task_failed_details.py b/test/test_internal_task_failed_details.py new file mode 100644 index 0000000..a1f622c --- /dev/null +++ b/test/test_internal_task_failed_details.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + Flight Control API + + [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. + + The version of the OpenAPI document: v1alpha1 + Contact: team@flightctl.io + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from flightctl.models.internal_task_failed_details import InternalTaskFailedDetails + +class TestInternalTaskFailedDetails(unittest.TestCase): + """InternalTaskFailedDetails unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> InternalTaskFailedDetails: + """Test InternalTaskFailedDetails + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `InternalTaskFailedDetails` + """ + model = InternalTaskFailedDetails() + if include_optional: + return InternalTaskFailedDetails( + detail_type = 'InternalTaskFailed', + task_type = '', + error_message = '', + retry_count = 56, + task_parameters = { + 'key' : '' + } + ) + else: + return InternalTaskFailedDetails( + detail_type = 'InternalTaskFailed', + task_type = '', + error_message = '', + ) + """ + + def testInternalTaskFailedDetails(self): + """Test InternalTaskFailedDetails""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_organization.py b/test/test_organization.py new file mode 100644 index 0000000..455c774 --- /dev/null +++ b/test/test_organization.py @@ -0,0 +1,84 @@ +# coding: utf-8 + +""" + Flight Control API + + [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. + + The version of the OpenAPI document: v1alpha1 + Contact: team@flightctl.io + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from flightctl.models.organization import Organization + +class TestOrganization(unittest.TestCase): + """Organization unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Organization: + """Test Organization + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Organization` + """ + model = Organization() + if include_optional: + return Organization( + api_version = '', + kind = '', + metadata = flightctl.models.object_meta.ObjectMeta( + creation_timestamp = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + deletion_timestamp = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + name = '', + labels = { + 'key' : '' + }, + generation = 56, + owner = '', + annotations = { + 'key' : '' + }, + resource_version = '', ), + spec = flightctl.models.organization_spec.OrganizationSpec( + display_name = '', + external_id = '', ) + ) + else: + return Organization( + api_version = '', + kind = '', + metadata = flightctl.models.object_meta.ObjectMeta( + creation_timestamp = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + deletion_timestamp = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + name = '', + labels = { + 'key' : '' + }, + generation = 56, + owner = '', + annotations = { + 'key' : '' + }, + resource_version = '', ), + ) + """ + + def testOrganization(self): + """Test Organization""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_organization_api.py b/test/test_organization_api.py new file mode 100644 index 0000000..d02cec5 --- /dev/null +++ b/test/test_organization_api.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + Flight Control API + + [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. + + The version of the OpenAPI document: v1alpha1 + Contact: team@flightctl.io + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from flightctl.api.organization_api import OrganizationApi + + +class TestOrganizationApi(unittest.TestCase): + """OrganizationApi unit test stubs""" + + def setUp(self) -> None: + self.api = OrganizationApi() + + def tearDown(self) -> None: + pass + + def test_list_organizations(self) -> None: + """Test case for list_organizations + + List organizations + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_organization_list.py b/test/test_organization_list.py new file mode 100644 index 0000000..4524604 --- /dev/null +++ b/test/test_organization_list.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Flight Control API + + [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. + + The version of the OpenAPI document: v1alpha1 + Contact: team@flightctl.io + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from flightctl.models.organization_list import OrganizationList + +class TestOrganizationList(unittest.TestCase): + """OrganizationList unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> OrganizationList: + """Test OrganizationList + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `OrganizationList` + """ + model = OrganizationList() + if include_optional: + return OrganizationList( + api_version = '', + kind = '', + metadata = flightctl.models.list_meta.ListMeta( + continue = '', + remaining_item_count = 56, ), + items = [ + flightctl.models.organization.Organization( + api_version = '', + kind = '', + metadata = flightctl.models.object_meta.ObjectMeta( + creation_timestamp = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + deletion_timestamp = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + name = '', + labels = { + 'key' : '' + }, + generation = 56, + owner = '', + annotations = { + 'key' : '' + }, + resource_version = '', ), + spec = flightctl.models.organization_spec.OrganizationSpec( + display_name = '', + external_id = '', ), ) + ] + ) + else: + return OrganizationList( + api_version = '', + kind = '', + metadata = flightctl.models.list_meta.ListMeta( + continue = '', + remaining_item_count = 56, ), + items = [ + flightctl.models.organization.Organization( + api_version = '', + kind = '', + metadata = flightctl.models.object_meta.ObjectMeta( + creation_timestamp = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + deletion_timestamp = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + name = '', + labels = { + 'key' : '' + }, + generation = 56, + owner = '', + annotations = { + 'key' : '' + }, + resource_version = '', ), + spec = flightctl.models.organization_spec.OrganizationSpec( + display_name = '', + external_id = '', ), ) + ], + ) + """ + + def testOrganizationList(self): + """Test OrganizationList""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_organization_spec.py b/test/test_organization_spec.py new file mode 100644 index 0000000..14d873e --- /dev/null +++ b/test/test_organization_spec.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Flight Control API + + [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. + + The version of the OpenAPI document: v1alpha1 + Contact: team@flightctl.io + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from flightctl.models.organization_spec import OrganizationSpec + +class TestOrganizationSpec(unittest.TestCase): + """OrganizationSpec unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> OrganizationSpec: + """Test OrganizationSpec + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `OrganizationSpec` + """ + model = OrganizationSpec() + if include_optional: + return OrganizationSpec( + display_name = '', + external_id = '' + ) + else: + return OrganizationSpec( + ) + """ + + def testOrganizationSpec(self): + """Test OrganizationSpec""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_referenced_repository_updated_details.py b/test/test_referenced_repository_updated_details.py new file mode 100644 index 0000000..43aa60a --- /dev/null +++ b/test/test_referenced_repository_updated_details.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Flight Control API + + [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. + + The version of the OpenAPI document: v1alpha1 + Contact: team@flightctl.io + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from flightctl.models.referenced_repository_updated_details import ReferencedRepositoryUpdatedDetails + +class TestReferencedRepositoryUpdatedDetails(unittest.TestCase): + """ReferencedRepositoryUpdatedDetails unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ReferencedRepositoryUpdatedDetails: + """Test ReferencedRepositoryUpdatedDetails + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ReferencedRepositoryUpdatedDetails` + """ + model = ReferencedRepositoryUpdatedDetails() + if include_optional: + return ReferencedRepositoryUpdatedDetails( + detail_type = 'ReferencedRepositoryUpdated', + repository = '' + ) + else: + return ReferencedRepositoryUpdatedDetails( + detail_type = 'ReferencedRepositoryUpdated', + repository = '', + ) + """ + + def testReferencedRepositoryUpdatedDetails(self): + """Test ReferencedRepositoryUpdatedDetails""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_resource_sync_completed_details.py b/test/test_resource_sync_completed_details.py new file mode 100644 index 0000000..4eff1e4 --- /dev/null +++ b/test/test_resource_sync_completed_details.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Flight Control API + + [Flight Control](https://flightctl.io) is a service for declarative management of fleets of edge devices and their workloads. + + The version of the OpenAPI document: v1alpha1 + Contact: team@flightctl.io + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from flightctl.models.resource_sync_completed_details import ResourceSyncCompletedDetails + +class TestResourceSyncCompletedDetails(unittest.TestCase): + """ResourceSyncCompletedDetails unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ResourceSyncCompletedDetails: + """Test ResourceSyncCompletedDetails + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ResourceSyncCompletedDetails` + """ + model = ResourceSyncCompletedDetails() + if include_optional: + return ResourceSyncCompletedDetails( + detail_type = 'ResourceSyncCompleted', + commit_hash = '', + change_count = 56, + error_count = 56 + ) + else: + return ResourceSyncCompletedDetails( + detail_type = 'ResourceSyncCompleted', + commit_hash = '', + change_count = 56, + error_count = 56, + ) + """ + + def testResourceSyncCompletedDetails(self): + """Test ResourceSyncCompletedDetails""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main()